C# 升级MSI投掷';未找到方法';错误
我有一个有两个类库的项目。我使用“安装和部署工具”制作MSI文件 最初,我构建了v1.0.0并安装在一台机器上。在那之后,我对我的库做了一些更改,并构建了v1.0.1 当我试图在一台已经有1.0.0版本的机器上安装v1.0.1时。按照预期,它将取代旧的安装 但是,当我尝试运行应用v1.0.1并单击一个按钮时,它立即抛出一个异常,如下所示C# 升级MSI投掷';未找到方法';错误,c#,visual-studio-2013,windows-installer,C#,Visual Studio 2013,Windows Installer,我有一个有两个类库的项目。我使用“安装和部署工具”制作MSI文件 最初,我构建了v1.0.0并安装在一台机器上。在那之后,我对我的库做了一些更改,并构建了v1.0.1 当我试图在一台已经有1.0.0版本的机器上安装v1.0.1时。按照预期,它将取代旧的安装 但是,当我尝试运行应用v1.0.1并单击一个按钮时,它立即抛出一个异常,如下所示 SubmitButton_CLICK : Method not found: 'Void Library1.method..ctor(Int32, System
SubmitButton_CLICK : Method not found: 'Void Library1.method..ctor(Int32, System.String, Int32, Int32, System.DateTime, System.String, System.DateTime, Int32, TabletEvalLibrary.SkillMethod, System.String, TabletEvalLibrary.User, System.Collections.Generic.List`1<Library1.Porceedure>, Int32)'
SubmitButton\u单击:找不到方法:'Void Library1.Method..ctor(Int32,System.String,Int32,Int32,System.DateTime,System.String,System.DateTime,Int32,TabletValLibrary.SkillMethod,System.String,TabletValLibrary.User,System.Collections.Generic.List'1,Int32)'
这真的很奇怪。我确信我的项目有这个ctor,我能够通过Visual Studio成功运行该应用程序
这方面有什么建议吗 调用方法时,似乎遗漏/添加了一些参数。 尝试清理代码并重新生成项目。
这可能是签出失败的原因之一。当您使用VS安装程序(RemovePreviousVersions)进行升级时,升级可能会成功,但这并不意味着文件已更新。使用标准文件替换规则,这意味着只有当文件版本增加时,才会重新访问文件
下面是一个适合您所看到的场景:您更改了该ctor并重建了它,并且认为您已经安装了它,但是系统上仍然存在具有不同ctor的旧文件。因此,对它的调用将失败。在发布代码文件时,应增加代码文件的AssemblyFileVersion,以确保新版本替换旧版本 我能够通过Visual Studio 2013成功运行该应用程序。因此,我确信我没有遗漏任何参数。此外,我还尝试重建soluion。不适合我。