我目前正在调查一个奇怪的错误,只是在项目中添加某个程序集引用似乎在运行时破坏了另一个程序集的某些功能。有关详细信息,请参阅another question on SO。
添加装配参考时会发生什么?它有什么副作用?
答案 0 :(得分:0)
全局程序集缓存
您无法从全局程序集缓存添加引用,因为它严格地是运行时环境的一部分。
自定义组件
如果部署或复制包含对全局程序集缓存中注册的自定义组件的引用的应用程序,则无论“复制本地”设置如何,都不会使用该应用程序部署或复制该组件。
另一个项目的输出
您应该避免在同一解决方案中向另一个项目的输出添加文件引用,因为这样做可能会导致编译错误。而是使用“添加引用”对话框的“项目”选项卡来创建项目到项目引用。
已注册的COM DLL
如果要添加对包含内部清单的已注册COM DLL的引用,请确保首先取消注册DLL。如果不这样做,Visual Studio会将程序集引用添加为ActiveX组件而不是本机DLL。
EnvDTE名称空间
当您手动添加对任何EnvDTE命名空间(EnvDTE,EnvDTE80,EnvDTE90,EnvDTE90a或EnvDTE100)的引用时,请在“属性”窗口中将引用的“嵌入互操作类型”属性设置为“False”。将此属性设置为True可能会导致构建问题,因为某些EnvDTE属性无法嵌入。