Jump to content

Help! My project list a file in the Dependencies that shouldn't be there


Recommended Posts

My project has a file in the Dependencies section and I can't figure out why it's still there. I converted this project over from a similar project that did use that file (a dll). Now I'm trying to get it to use a different dll. The problem is in just one VI (I right clicked on the dll to find out why it's there and it directed me to the VI where it was). I replaced the references to the old dll with the new one countless times and even replaced the actual nodes that call the dll, but the dll won't get out of the Dependencies section. I've even rebooted the PC to make sure all references are gone. Is there a way to pinpoint where a dll is actually used in a VI? The weird thing is the VI is not broken even when I change the name of the old dll and the project gives the warning that it has been deleted, renamed or moved. It just won't let go of that old dll.:throwpc:

George

Link to comment

I would try dispatching the .dll by wiring the path.

If that doesn't work, try searching for diagram disable structures.

Anything in a diagram disable will not be compiled and will not be shown in the callers list, but still will be listed as a dependency even though you are not really using it. I've had this kind of conflict several times when using other people's code.

~Jon

Link to comment

I would try dispatching the .dll by wiring the path.

If that doesn't work, try searching for diagram disable structures...

~Jon

I can't wire in a path. I'm using constructor nodes (these are .NET calls) and there's no way to wire in a path that I can see. I also have a .net constant tied to a "To More Specific Class" VI.

No disable structures either.

Maybe it's the callback VI that also used to reference the dll? I wonder if I'll have to destroy that and start fresh.

George

Link to comment

I'm really not familiar with the .net framework, but it seems that you are using windows to dispatch the .dll. Have you tried registering your new .dll using regsvr32 (http://ss64.com/nt/regsvr32.html)

otherwise you can check out the attached tutorial on the windows registry.

~Jon

I forgot I cant attach files at work. there are tutorials online for how to use the windows registry, just be careful when manipulating these files.

~Jon

Link to comment

I'm really not familiar with the .net framework, but it seems that you are using windows to dispatch the .dll. Have you tried registering your new .dll using regsvr32 (http://ss64.com/nt/regsvr32.html)

otherwise you can check out the attached tutorial on the windows registry.

~Jon

The new dll works in multiple other places in my code so I don't think it's a registration problem. It's just that for some reason this one VI has a hidden reference to that old dll.

George

Link to comment

You don't use regsvr32 to register .Net assemblies. If you want to put an assembly in the GAC you use either gacutil.exe or Windows Installer, but an assembly doesn't necessarily need to go in the GAC.

George,

What are the names, version numbers, and locations of the old dll and the new dll? If the names and versions are the same but with different paths, it could be that the Fusion engine (the MS component that finds the right assembly) is finding the old dll before the new one.

Link to comment

George,

What are the names, version numbers, and locations of the old dll and the new dll? If the names and versions are the same but with different paths, it could be that the Fusion engine (the MS component that finds the right assembly) is finding the old dll before the new one.

The name and location of the old and new dll are different. Is there anyway to see exactly where in a VI a dll is being referenced?

George

Link to comment

Is there anyway to see exactly where in a VI a dll is being referenced?

AFAIK while in the dev environment .Net assemblies are only referenced in the constructor node. Do you have any .Net reference controls, indicators, or constants on that vi? That could hold the assembly reference too.

Link to comment

AFAIK while in the dev environment .Net assemblies are only referenced in the constructor node. Do you have any .Net reference controls, indicators, or constants on that vi? That could hold the assembly reference too.

Yep, there are three of them. I've replaced all of those nodes. Too bad there's not a way to search for that dll like you can with the Call Library Function Node.

George

Link to comment

Yep, there are three of them. I've replaced all of those nodes.

Well, if you've replaced all the constructor nodes, controls, and indicators in all your vis and it's still not going away, I don't know what to tell you. I'm running out of good ideas.

I assume you've checked to make sure you don't have anythink hidden off screen or behind the edge of a frame?

Something else to try is deleting all the constructor nodes, controls, and indicators and seeing if it's still there. If it is see if it still points you to the same vi.

Another thing you can try is to make a backup of the guilty vi then go back and start deleting stuff and saving until you find the part that is causing the trouble. I vaguely remember having a similar problem, though I'm not sure it was related to dlls. I ended up deleting all the vi contents and recreating them.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.