我在C:\Windows\Microsoft.NET\assembly\GAC_32\MyFolder\
中有dll
,我想在我的C#
项目中使用它。
我试图添加引用(引用 - >添加引用 - >浏览),它似乎很好,但在运行时程序粉碎AccessViolationException
。
我不确定参考是否是问题,所以我决定研究它,并在post中找到答案,说您不能通过这种方式从GAC
引用装配。我没有找到的是我该怎么做。
当我删除对dll
的引用时,程序当然不会编译。如何使用GAC中的程序集?
-1
A
回答
1
在使用GAC程序集之前,您需要了解一些事项。
1)GAC中的组装必须是strong-named。
2)您不能仅仅复制文件,here如何正确地将程序集部署到GAC。
3)A strong-named assembly can only use types from other strong-named assemblies.
4)Here的如何在编译时来引用一个强名称组件(使用编译选项)和运行时间和here的如何从Visual Studio引用GAC组件。请阅读Hans Passant在this的回答。
0
可能的副本'Referencing DLL from GAC in Visual Studio'。请特别注意this answer,这解释了为什么从GAC添加引用是不好的做法。不过,您仍然可以使用机器上的完整路径来完成此操作。考虑以下情形:
- 参考是第三方DLL
- 你依靠的事实,你正在部署的机器已经有一个DLL注册
分辨率:
- 将您依赖的第三方程序集复制到某个选定的文件夹中。
- 仅用于编译目的使用那些引用。你没有运送这些物品。
- 安装后,这些引用将从该机器上的GAC解析。如果不是,则需要将这些程序集安装到GAC。
这个场景被那些构建SharePoint自定义应用的人使用(例如)。
相关问题
- 1. 如何引用GAC中的程序集?
- 2. 如何引用GAC中的程序集
- 3. 如何在GAC中引用程序集
- 4. 如何从GAC中引用程序集?
- 5. 如何覆盖GAC中的程序集
- 6. 部署的.NET程序如何在GAC中引用程序集?
- 7. 如何从动态生成的程序集中引用GAC程序集?
- 8. 检查GAC的程序集
- 9. 我如何从GAC加载程序集?
- 10. C#:如何从GAC加载程序集?
- 11. 如何在PowerShell模块中引用GAC中的程序集?
- 12. Visual Studio Snippets:如何引用不在GAC中的程序集
- 13. GAC - 程序集在GAC中,但“无法加载文件或程序集”
- 14. GAC +配置中的.NET程序集
- 15. 如何在我的项目中使用安装在GAC中的.net程序集
- 16. 如何检查GAC中是否存在程序集引用?
- 17. 如何将.NET程序集添加到InnoSetup中的GAC中?
- 18. 如何使用Visual Studio 2010 Extension/Addin引用不在GAC中的程序集?
- 19. App.Config中的GAC程序集参考(控制台应用程序)
- 20. 使用Windows安装程序向GAC安装程序集
- 21. GAC中有未使用的程序集会影响性能吗?
- 22. 在GAC中安装程序集
- 23. ClickOnce需要程序集MyProject在GAC中?
- 24. 在应用程序正在使用的GAC中找不到程序集
- 25. 如何加载在GAC中注册的混合程序集?
- 26. VS 2010 - 如何构建MSI以部署GAC中的程序集?
- 27. 如何列出GAC中的所有注册程序集?
- 28. 如何在Delphi中使用.Net程序集而不注册到GAC或COM中?
- 29. nuget的程序集由GAC的程序集覆盖
- 30. WPF应用程序在GAC中注册程序集?
请添加您的代码,几乎不可能从任何地方帮助吸取问题 – 2014-11-23 08:33:21
为什么您需要代码?我是一个技术问题。我在'GAC'中有'dll',我该如何使用它?我不希望人们弄清楚为什么我会得到一个异常,只要告诉我是否像我应该引用'dll'。 – GM6 2014-11-23 08:40:54
@ GM6 - 您是如何将其添加到GAC的?你用过GacUtil吗?你使用的是什么命令参数?当你说“在运行时”时,你的意思是在VS.net IDE中还是在不同的机器上执行?您如何知道DLL在GAC中正确注册?您是否使用过GacUtil列出目标机器上的GAC内容? – PhillipH 2014-11-23 08:47:45