09-13-2022 03:12 PM
I'm looking for advice from people who have dealt with the following:
Solved! Go to Solution.
09-13-2022 04:30 PM
Probably best to put it in GAC (using pre/post install/unistall actions)
https://docs.microsoft.com/en-us/dotnet/framework/app-domains/install-assembly-into-gac
09-14-2022 02:42 AM
@santo_13 wrote:
Probably best to put it in GAC (using pre/post install/unistall actions)
https://docs.microsoft.com/en-us/dotnet/framework/app-domains/install-assembly-into-gac
Yes, but note that you can only put strongly named and signed assemblies in there. Strongly named means that the assembly also needs a full version number. The whole .Net assembly loading limitation is an understandable (from a security viewpoint) necessity but also makes using assemblies from applications where you can't control the initialization of the app context rather difficult.
The .Net default app context only supports the GAC and the applications executable directory. Since adding .Net assemblies to the LabVIEW executable directory would cause an unmaintainable mess in the long run, LabVIEW adds instead the project directory as an additional custom location to the app context.
And yes, even if you could control the actual app context directly in LabVIEW, things are not solved. .Net has many exceptions and machine or configuration file specific hints can override the behaviour in hard to predict ways.
09-14-2022 09:13 AM
Thanks for the info. Unfortunately most of the libraries (things my library are dependent on) are still in development and probably not strongly named/versioned/signed. I might be able to sign/version mine, but it seems the dependencies are still a problem. So, it looks like I'm stuck with local copy in each development project.
Thanks for the clarification.
09-16-2022 09:30 AM
One more question, do ALL of the assemblies have to be strongly named to be in the GAC, or just the one LabVIEW directly calls/references?
09-16-2022 10:24 AM