I've got the same issue, since I'm working with LabVIEW 2017, classes, and RT targets.
Last week, I had this issue when I changed a typedef included in another typedef.
Luckily, I realized when I saved it that something didn't get as usual (I don't know how, something about the way the front panels are refreshed at save), then, thanks to this post, I realized that there were effectiveley something weird with my typedef changing, but I was unable to find somehing changed on it, and no way to update it manually.
If I remember well, I removed the Typedef I changed in the calling Typedef and included it again. probably had some popup saying to revert changes, several times, but I succeded to have it downloaded right.
Today, I just added some items into a typedef ring, not included in any other typedef.
Then, trying to run it on my RT target (where the same project was already running as an rtexe, without the ring updated), it showed issue deploying the VI (a class method containing a subVis containing the updated ring).
Also, a lot of VIs are seen as already deployed, even if I stop executing the rtexe at startup and restart the RT target hoping to deploy from a clean environment, because I expect that typedef in memory on Rt target is somewhere close to the issue.
Nothing changed.
I also tried to click "open typedef" from all instances of it on subVIs, and some of them was saying that typedef changed and asked me to revert. Then, saved the class containing the method, and deploy again without success.
btw, If I found quite understandable the revert popup when I've seen it in the past, since I'm working with classes, I feel it nonsense, and poping everytime without reason. There is something to work with Class saving and typedef cash to propagate changes when done.
As far as i'm going to add a lot of items to this Ring as I develop, I would like to be able to run my code each time, and not losing a complete day trying to make it work at each modification.
Maybe something that could help understanding the issue, I have a main VI, wich is the method of a class (using Messenger Library from JDPowell, and its actor class). This main lauches several other actor processes, and I develop all those classes on a project on my computer.
Then, I use another LV project where I declared my RT target and declared only the Main class on it (all other classes are in dependencies). Could this explain something with the updating process of typedef in dependencies?
Olivier L. | Certified LabVIEW Developer