如何解决我有一个不能放在调用它的exe文件的同一目录中的dll如何配置Visual Studio来找到它?
| 我的msi安装程序项目包含两个完全相同名称的dll版本,分别针对通常的根安装文件夹。因此,当安装程序在客户端计算机上运行时,仅安装其中一个。 我想我必须告诉安装程序项目将较旧的dll放在另一个文件夹中。问题是,如何告诉程序在该特定dll的特定文件夹中查找?我正在使用C#和VS2010。 谢谢, 以撒解决方法
根据程序集的版本号为程序集添加后缀,然后将它们部署到同一目录中。否则,更新将变得非常混乱。
如果确实需要,可以使用这种app.config文件来重新定位程序集:http://support.microsoft.com/kb/837908
<configuration>
<runtime>
<assemblyBinding xmlns=\"urn:schemas-microsoft-com:asm.v1\">
<dependentAssembly>
<assemblyIdentity name=\"MyAssembly2\" culture=\"neutral\" publicKeyToken=\"307041694a995978\"/>
<codeBase version=\"1.0.1524.23149\" href=\"FILE://C:/Myassemblies/MyAssembly2.dll\"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
, 好吧,我最终只是手动加载了程序集。与使用Assembly.LoadFrom(相对路径字符串)相同
我尝试给它们加后缀,但它开始抱怨它与app.manifest文件不匹配。
程序集解析事件也不起作用,因为reportviewer控件没有为所有dll触发程序集解析。可能是因为它位于它自己的appdomain中。
无论如何,这似乎暂时可行。
-以撒
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。