我在 Visual Studio 2010 中创建了一个部署项目。我正在链接 MATLAB 组件和 .NET 组件。我的 MATLAB 是 64 位的,Visual Studio 也是 64 位的,但有些参考是 32 位的。
当我编译部署项目时,我收到以下警告“发现同一依赖程序集的不同版本之间的冲突”。
我尝试了一切并将我的处理器设置为 64 位。但我仍然收到警告。
我在 Visual Studio 2010 中创建了一个部署项目。我正在链接 MATLAB 组件和 .NET 组件。我的 MATLAB 是 64 位的,Visual Studio 也是 64 位的,但有些参考是 32 位的。
当我编译部署项目时,我收到以下警告“发现同一依赖程序集的不同版本之间的冲突”。
我尝试了一切并将我的处理器设置为 64 位。但我仍然收到警告。
这意味着您引用程序集 A 版本。项目 1 中的 xxx 和程序集 A 版本。项目 2 中的 yyy。
问题是您也可以从项目 1 中引用项目 2,因此当在运行时加载引用的程序集时,两个 A 可能会发生冲突。
我不知道这是否仍然对您有帮助!我刚刚遇到了第三方公司提供的一些模块的这个问题,我现在已经开始用谷歌搜索这个问题了!
正如许多其他人所建议的那样,这意味着您的一些模块/dll 使用另一个核心模块的版本 A,而其他一些使用版本 B。在我的情况下,所有模块都在寻找 MODULE_A_VER_X.(signature XXXXXXXXXXXXXXXX) 并且一个寻找完全相同的模块,具有完全相同的版本但具有不同的签名[例如 MODULE_A_VER_X.(签名 YYYYYYYYYYYYYYYYYYYYYY)]
在您的安装程序项目中,右键单击每个“检测到的依赖项”,然后在属性窗口中,单击“依赖项”项。它向您展示了特定模块所依赖的核心模块!
这样做(对于您的所有依赖项),可以帮助您确定缺少/冲突的核心模块并让您走上正确的轨道。
然后您可以联系 MATLAB 要求他们为您提供具有正确版本和签名的核心模块。或者您可以尝试自己找到它。
然后您可以尝试将该模块添加到您的安装程序项目中,看看它是否有效!(在我的情况下,第三方提供商告诉我它会解决我的问题,但它没有!也许对你有用!)
您还可以尝试使用 VS 安装程序以外的某些软件包(例如 WIX)创建安装程序。