我目前正在开发一个。net应用程序,它由20个项目组成。其中一些项目是使用。net 3.5编译的,其他一些仍然是。net 2.0项目(到目前为止没有问题)。
问题是,如果我包含一个外部组件,我总是得到以下警告:
发现同一依赖程序集的不同版本之间存在冲突。
这个警告到底是什么意思,有没有可能排除这个警告(比如在源代码文件中使用#pragma disable)?
我目前正在开发一个。net应用程序,它由20个项目组成。其中一些项目是使用。net 3.5编译的,其他一些仍然是。net 2.0项目(到目前为止没有问题)。
问题是,如果我包含一个外部组件,我总是得到以下警告:
发现同一依赖程序集的不同版本之间存在冲突。
这个警告到底是什么意思,有没有可能排除这个警告(比如在源代码文件中使用#pragma disable)?
当前回答
在Visual Studio中,如果你右键单击解决方案并管理nuget包,会有一个“巩固”选项卡,它将所有的包设置为相同的版本。
其他回答
在Visual Studio中,如果你右键单击解决方案并管理nuget包,会有一个“巩固”选项卡,它将所有的包设置为相同的版本。
我也有同样的问题,我通过在web.config中更改以下内容来解决。
这发生在我身上,因为我正在使用Newtonsoft运行应用程序。Json 4.0
来自:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
To:
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
我也有同样的问题。在项目的“obj”文件夹中,我将文件夹“Debug”重命名为“Debug_OLD”并重新构建。一个新的“Debug”文件夹会自动生成,问题也就解决了。
在花了几个小时分析详细的构建日志之后,我发现我的解决方案中的几个项目针对的是不同的. net版本。我将它们全部更改为. net 4.7.2并重新构建解决方案,错误得到解决。
当我的项目引用NETStandardLibrary时,我遇到了这样的问题,其中一个引用的程序集发布了netcore。只要把它作为网络标准发布,问题就解决了