简体   繁体   English

安装新版本后,“定位的程序集的清单定义与程序集引用不匹配”

[英]“The located assembly's manifest definition does not match the assembly reference” after installing new version

I have created a Windows Forms desktop application using VS 2015 in Win 10. When I release a new version I would like users to be able to run the installer without first uninstalling any earlier versions. 我在Win 10中使用VS 2015创建了一个Windows窗体桌面应用程序。当我发布新版本时,我希望用户能够在不先卸载任何早期版本的情况下运行安装程序。 To do this, I create a new Product code in the General Information tab of InstallShield LE, which is included in VS 2015. This appears to be the only way of having new versions install over old ones. 为此,我在InstallShield LE的“常规信息”选项卡中创建了一个新的产品代码,该选项卡包含在VS 2015中。这似乎是将新版本安装在旧版本上的唯一方法。 The detailed descriptions provided by InstallShield on how to create updated versions using the UpdateCode do not seem to work. InstallShield提供的有关如何使用UpdateCode创建更新版本的详细说明似乎不起作用。 After installation, the old and new versions are present in the list shown in Control Panel-> Programs and Features. 安装后,旧版本和新版本将出现在“控制面板” - >“程序和功能”中显示的列表中。

I created a new self-extracting .exe installer for a new version containing a reference to Global Version 2.1.68, but when I run it in a Win 7 environment on a different machine where an earlier version (2.1.62) referencing the assembly Global Version 2.1.62 has been installed and open a particular form, I get an Exception message 我为包含对全局版本2.1.68的引用的新版本创建了一个新的自解压.exe安装程序,但是当我在另一台机器上的Win 7环境中运行它时,其中早期版本(2.1.62)引用了程序集已安装全局版本2.1.62并打开一个特定的表单,我收到一条Exception消息

Could not load file or assembly 'Global, Version = 2.1.62.0, Culture = Neutral, PublicKeyToken=a95f9488c29' or one of its dependencies. 无法加载文件或程序集'Global,Version = 2.1.62.0,Culture = Neutral,PublicKeyToken = a95f9488c29'或其依赖项之一。 The located assembly's manifest definition does not match the assembly reference. 定位的程序集的清单定义与程序集引用不匹配。

Exception Text: 例外文字:

System.IO.File.LoadException: Could not load file or assembly 'Global, Version = 2.1.62.0, Culture = Neutral, PublicKeyToken=a95f9488c29 at ... System.IO.File.LoadException:无法加载文件或程序集'Global,Version = 2.1.62.0,Culture = Neutral,PublicKeyToken = a95f9488c29 at ...

If I uninstall Version 2.1.62 via Control Panel and install Version 2.1.68 of the application, the error does not occur. 如果我通过控制面板卸载版本2.1.62并安装应用程序的版本2.1.68,则不会发生错误。

I have checked the C# references to the Global dll and they all point to the updated dll. 我检查了对全局dll的C#引用,它们都指向更新的dll。

I would like users to be able to install new versions without first having to uninstall old ones, but it appears that something from the V 2.1.62 install is carried over to the newer install and tries to locate the old version of Global.dll 我希望用户能够安装新版本而无需先卸载旧版本,但似乎V 2.1.62安装中的某些内容会转移到较新的安装并尝试找到旧版本的Global.dll

问题是我没有更新引用global.dll的子项目的版本号,因此新版本的安装没有更新那个dll,后者继续寻找旧的(v 2.1.62)版本的global.dll。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 找到的程序集的清单定义与程序集引用不匹配 - The located assembly's manifest definition does not match the assembly reference “定位的程序集的清单定义与程序集引用不匹配” - “The located assembly's manifest definition does not match the assembly reference” DLL版本不匹配:找到的程序集的清单定义与程序集引用不匹配 - DLL version mismatch: The located assembly's manifest definition does not match the assembly reference 无法加载文件或程序集 'MySql.Data, Version=8.0.29.0.. 找到的程序集的清单定义与程序集引用不匹配 - Could not load file or assembly 'MySql.Data, Version=8.0.29.0.. The located assembly's manifest definition does not match the assembly reference Windows Universal App:无法加载文件或程序集-找到的程序集的清单定义与程序集引用不匹配 - Windows Universal App: Could not load file or assembly - The located assembly's manifest definition does not match the assembly reference 无法加载文件或程序集。 定位的程序集的清单定义与程序集引用不匹配 - Could not load file or assembly. The located assembly's manifest definition does not match the assembly reference 两个不同的汇编版本“找到的汇编的清单定义与汇编参考不匹配” - Two different assembly versions “The located assembly's manifest definition does not match the assembly reference” 无法加载文件或程序集:找到的程序集的清单定义与程序集引用不匹配 - Could not load file or assembly: The located assembly's manifest definition does not match the assembly reference FileLoadException:找到的程序集的清单定义与程序集不匹配 - FileLoadException: The located assembly's manifest definition does not match the assembly 找到的程序集的清单定义与程序集不匹配 - The located assembly's manifest definition does not match the assembly
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM