无法在其他电脑上运行windows窗体应用程序

本文关键字:运行 windows 窗体 应用程序 电脑 其他 | 更新日期: 2023-09-27 18:21:41

我在VS2012中使用C#制作了一个相当简单的Windows窗体应用程序。当我将''Bin''Release的内容复制到我制作该应用程序的(Windows 8)PC上的另一个文件夹时,一切都很正常。然而,当我把这个文件夹复制到另一台电脑(Windows7)并尝试运行EXE时,我会立即从Windows:中得到一个错误

程序已停止工作。问题事件名称:CLR20r3问题签名09:System.IO.FileNotFoundException

文件夹及其内容与我构建应用程序的另一台电脑上的内容完全相同。它包括.EXE文件、一个.SDF(SQL Compact)数据库文件和Microsoft.Office.Interop.Excel.DLL(我必须为某个函数包含此DLL,但在我构建它的PC上,独立应用程序从自己的文件夹运行,而不必包含该DLL,所以我不确定是否应该在其他PC上包含它)。

到目前为止,我已经尝试将DLL复制到Windows''System32,更新了.NET Framework+重新启动,并以管理员身份运行。

我希望这个独立的应用程序能在Windows7电脑和WindowsXP笔记本电脑上运行。它们都没有安装Visual Studio。有人能帮我吗?

无法在其他电脑上运行windows窗体应用程序

不确定,但看起来,您收到这个错误是因为dotnet版本不匹配。正如您所提到的,当您运行应用程序时,会立即出现此错误。因此,请检查您的网络版本。

谢谢大家的建议。我只是偶然发现了我的问题:

我决定复制.Appplication文件,并在目标电脑上运行它。这给了我以下错误:

"无法安装或运行应用程序。该应用程序要求首先在GAC中安装程序集System.Data.SqlServerCe版本4.0.0.0。"

所以这就是我们所缺少的。我通过将"发布">"应用程序文件">"系统数据库服务器Ce.dll">设置为"包含"而不是"先决条件"来修复此问题。然后,我让VS发布我的应用程序,并在目标电脑上运行Setup.exe。我不想要任何类型的安装程序,但这样做,就安装了使用SqlServer CE所需的文件。在那之后,我可以从目标电脑上删除所有东西,除了application.exe和数据库文件,我可以毫无问题地运行它。我会对其他目标电脑做同样的事情,我会祈祷这在XP上也能工作。