Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#类库中的版本无关参考_C#_Versioning_Class Library_Dll Reference - Fatal编程技术网

C#类库中的版本无关参考

C#类库中的版本无关参考,c#,versioning,class-library,dll-reference,C#,Versioning,Class Library,Dll Reference,我有一个C#类库MyLibrary,其中引用了一个sample.dll版本2.7.0。此MyLibrary正在WCF项目中引用。部署在服务器上的 现在在服务器上,我有sample.dll,版本为3.0.0,因为我得到了引用的dll not found错误,如下所示 无法加载文件或程序集“sample,Version=2.7.0.0,Culture=neutral,PublicKeyToken=185805eaf7302b6c”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(HRESUL

我有一个C#类库MyLibrary,其中引用了一个sample.dll版本2.7.0。此MyLibrary正在WCF项目中引用。部署在服务器上的

现在在服务器上,我有sample.dll,版本为3.0.0,因为我得到了引用的dll not found错误,如下所示

无法加载文件或程序集“sample,Version=2.7.0.0,Culture=neutral,PublicKeyToken=185805eaf7302b6c”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(HRESULT的例外:0x8013100)

我发现很少有解决方案可以使它独立于版本,比如添加“BindingRedirect”,因为它是一个类库,我没有可以配置“BindingRedirect”的web.config或app.config。我还尝试将“特定版本”设置为false,但仍然得到相同的错误

我希望使我的类库能够与任何版本的示例dll一起工作

我尝试在我的WCF项目的web.config中添加以下内容

 <dependentAssembly>
        <assemblyIdentity name="sample" publicKeyToken="185805eaf7302b6c" culture="neutral"/>
        <bindingRedirect oldVersion="2.7.0.0" newVersion="3.0.0.3"/>
</dependentAssembly>


但是仍然会出现相同的错误。

您能明确说明问题所在吗?在服务器上同时安装这两个版本还是将MyLibrary更新为sample.dll的3.0.0版有问题吗?我不建议使用独立版本。如果一个版本有破坏性的更改怎么办?您的应用程序将变得不稳定,这可能会让您很难找出原因。。。此外,所有使用该dll中代码的测试都将是无效的。请认为您需要一个新的测试。@RahulBhati:不,您不需要-您只需要从2.7.0重定向到“您实际使用的任何东西”。虽然您需要小心-示例DLL正在使用语义版本控制,但3.0.0可能与2.7.0不兼容,因此您的库可能无法正常工作。您不在类库中编写逻辑。它是应用程序配置的一部分。我建议你读一读