2012-02-29 42 views
4

我一直在开发一个应用程序约2个月。这是我以前第一次做这个尺寸的任何事情。现在,我已经接近让所有进程按照我希望的方式运行,我在尝试运行该应用程序时遇到以下错误。为什么我的C#应用​​程序不能在另一台机器上执行?

我之前创建的应用程序运行得很好......实际上在其他机器上更好。但这个应用程序正在破坏我的印章。

Problem signature: 
    Problem Event Name: CLR20r3 
    Problem Signature 01: logopicking.exe 
    Problem Signature 02: 1.0.0.0 
    Problem Signature 03: 4f4e6509 
    Problem Signature 04: System.Drawing 
    Problem Signature 05: 4.0.0.0 
    Problem Signature 06: 4ba1e086 
    Problem Signature 07: 30 
    Problem Signature 08: 14 
    Problem Signature 09: System.IO.FileNotFoundException 
    OS Version: 6.1.7601.2.1.0.768.3 
    Locale ID: 1033 
    Additional Information 1: 0a9e 
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 
    Additional Information 3: 0a9e 
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 

这就是它给我的错误。

要添加更多的信息,我会发布usings

using System; 
using System.ComponentModel; 
using System.Drawing; 
using System.IO; 
using System.Windows.Forms; 
using Interop.QBFC11; 

我不知道是否有什么问题与任何这些可以创建将阻止应用启动的问题。

+1

仅仅因为您添加了对项目的引用并不意味着这些文件将全部自动位于目标PC上,或者这些文件将被注册(如果需要)。 – jp2code 2012-02-29 22:37:33

+0

可能重复的[FileNotFoundException当加载DLL](http://stackoverflow.com/questions/9503429/filenotfoundexception-when-loading-dll) – 2012-02-29 23:31:11

回答

3

通过System.IO.FileNotFoundException错误告诉您缺少组件或试图读取不存在的文件。

请确保您在第二台PC上安装了.Net框架的正确版本(取决于您使用的是哪个版本的Visual Studio),并且您可能还需要安装Quickbooks所需的任何第二台机器。

+0

.Net 4.0很容易实现,但Quickbooks的Interop文件很容易忽略。两个答案都帮助了我。好极了。 – thepupil 2012-03-01 20:52:28

6

您得到System.IO.FileNotFoundException。您的应用程序试图访问一个文件,它不能在“不同的机器”上找到

这个链接将帮助您进一步:http://channel9.msdn.com/Forums/TechOff/258689-NET-20-Win-App-Eror-EventType-clr20r3

从那里取:

“实现一个UnhandledExceptionHandler并记录对事件日志的异常信息,以便您可以获得有关导致您的应用程序崩溃和在什么情况下的更好信息。“

// C# 2.0 
static void Main(string[] args) 
{ 
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(
    delegate(object sender, UnhandledExceptionEventArgs e) { 
     if (e.IsTerminating) { 
     object o = e.ExceptionObject; 
     Debug.WriteLine(o.ToString()); 
     } 
    } 
); 

    // rest of your Main code 
} 
+0

HAHA ...我写在一个JPG文件的本地地址,确实没有存在于另一台机器上。 谢谢。 – thepupil 2012-03-01 20:49:17

相关问题