2014-02-07 4 views
8

Я создаю небольшие проги для Windows Forms в VisualStudio2010, только для хобби. После их выпуска я использую файл .exe для их запуска на других ПК без для любой установки. Эти ПК работают под управлением ОС Windows (7, Vista, XP). ПК, на котором я написал код, имел Win XP, и прогам удалось нормально работать в любое время.System.IO.FileNotFoundException. Где я могу найти, какой путь неправильный?

Теперь я написал еще одну прогу, на другом ПК, которая запускает Win 8.1, и я получаю следующую ошибку, когда пытаюсь запустить выпущенный .exe на других платформах, как упоминалось выше.

Problem signature: 
    Problem Event Name: CLR20r3 
    Problem Signature 01: dmg_ors.exe 
    Problem Signature 02: 1.0.0.0 
    Problem Signature 03: 52f4bad1 
    Problem Signature 04: DMG_ORS 
    Problem Signature 05: 1.0.0.0 
    Problem Signature 06: 52f4bad1 
    Problem Signature 07: 3 
    Problem Signature 08: c 
    Problem Signature 09: System.IO.FileNotFoundException 
    OS Version: 6.1.7601.2.1.0.256.48 
    Locale ID: 1033 
    Additional Information 1: 82e2 
    Additional Information 2: 82e23b36efee975bd0e9417ff09fe7bb 
    Additional Information 3: a1d6 
    Additional Information 4: a1d6e932d2c942475edff9f8fe05b46c 

Read our privacy statement online: 
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409 

If the online privacy statement is not available, please read our privacy statement offline: 
    C:\Windows\system32\en-US\erofflps.tx 

Как найти файл, который отсутствует? tyvm

+0

Проблема решена, но я не могу отредактировать вопрос ... – Stelios

ответ

8
Problem solved.I had to modify my main,IOT to catch that exception and see what 
was actually missing.

static void Main() 

{ 

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.ThreadException += new 

ThreadExceptionEventHandler(Application_ThreadException); 
     AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); 

    Application.Run(new Form1()); 

} 

static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) 
{ 
    MessageBox.Show(e.Exception.Message, "Unhandled Thread Exception"); 
    // here you can log the exception ... 
} 

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) 
{ 
    MessageBox.Show((e.ExceptionObject as Exception).Message, "Unhandled UI Exception"); 


    // here you can log the exception 

} 

Тогда я мог видеть, что проблема существует, потому что Visual Basic Powerpack нужно быть installed.I предположить, что машины без VS2010 установлены, даже если они имеют .NET 4.5, выполните не имею этого. Вопрос в том, какова была разница на этот раз и этот пакет был необходим IOT запустить приложение .... Решение было найдено здесь на самом деле, я должен сказать это. http://www.csharp-examples.net/catching-unhandled-exceptions/

Смежные вопросы