我四处搜索,但找不到我的 dll 问题的解决方案。
我的解决方案添加了许多 dll 引用,并且每个 dll 都强烈依赖于版本。
我只想单独重新编译其中一个并将其添加回解决方案。
但是,由于其他 dll 依赖于版本并引用此 dll,因此会发生一些运行时错误,说明版本不是预期的版本。
我该如何解决这种情况?
问问题
230 次
2 回答
1
这实际上取决于您如何制定解决方案。如果您将 DLL 作为 PROJECTs 在与使用它们的程序和其他 DLL 文件相同的解决方案中,您只需右键单击要重新编译的 DLL 项目并单击重建。
希望这对你有帮助!
于 2013-01-08T01:49:15.820 回答
1
配置文件中的程序集重定向发布者策略条目可以解决这个问题。这是文章中的示例片段(您也可以重定向版本范围):
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1" culture="en-us" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
....
旁注:您应该更仔细地考虑您的版本政策。如果您将程序集提供给其他人,最好避免自动生成的版本,并为每个正式版本使用一个版本,可能为临时构建使用次要版本。同时构建所有项目可能是个好主意。
于 2013-01-08T03:19:22.227 回答