Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在其他电脑上运行windows窗体应用_C#_.net_Windows_Visual Studio 2012 - Fatal编程技术网

C# 无法在其他电脑上运行windows窗体应用

C# 无法在其他电脑上运行windows窗体应用,c#,.net,windows,visual-studio-2012,C#,.net,Windows,Visual Studio 2012,我用VS2012中的C制作了一个相当简单的Windows窗体应用程序。当我将\Bin\Release的内容复制到我制作应用程序的Windows 8 PC上的另一个文件夹时,一切正常。 但是,当我将此文件夹复制到其他PC Windows 7并尝试运行EXE时,Windows会立即出现错误: 程序已停止工作。问题事件名称:CLR20r3 问题签名09:System.IO.FileNotFoundException 该文件夹及其内容与我在另一台PC上构建应用程序的文件夹及其内容完全相同。它包括.EXE

我用VS2012中的C制作了一个相当简单的Windows窗体应用程序。当我将\Bin\Release的内容复制到我制作应用程序的Windows 8 PC上的另一个文件夹时,一切正常。 但是,当我将此文件夹复制到其他PC Windows 7并尝试运行EXE时,Windows会立即出现错误:

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

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

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


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

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

谢谢你们的建议,伙计们。我只是偶然发现了我的问题:

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

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

这就是我们所缺少的。我通过发布>应用程序文件>SystemDataSqlServerCe.dll>设置为包含(而不是先决条件)修复了此问题。然后我让VS发布我的应用程序并在目标PC上运行Setup.exe。我不需要任何类型的安装程序,但这样做时,安装了使用SqlServer CE所需的文件。在那之后,我可以删除目标PC上的所有内容,除了application.exe和数据库文件,我可以毫无问题地运行它。
我将对其他目标PC执行同样的操作,我将祈祷这也能在XP上运行。

不确定,但请记住,如果使用Interop.Excel,则需要在目标PC上安装Office。您的目标是哪个版本的.Net Framework?您所说的电脑上是否安装了该版本的.Net Framework?如果您查看Windows事件日志,可能会在那里记录错误,其中包含找不到的文件名。请在启动应用程序时尝试运行。它应该会告诉你哪个文件打开请求失败了。你在复制到另一台电脑上之前构建了你的项目吗?嗯,我在18分钟前已经建议过了。无论如何,这种事情更适合作为评论而不是答案。@RenniePet我们几天前就遇到过这种问题,这是由于框架不匹配造成的。我们改变了框架,它成功了。这就是我将此作为答案发布的原因。但我不确定这是否有效。所以我开始写不确定,但看起来,你…我可以将我的目标框架设置为4.0或4.5。低于此值的任何内容,我的应用程序都不会在VS2012中运行。我的目标PC今天更新了4.5,我当前的目标框架也是4.0和4.5。这似乎不是问题所在。