2010-11-03 57 views
1

我有一個程序,我建立了讀寫文件。我建立它在釋放模式,然後試圖在Win7上運行的exe。起初,隨着故障排除,Windows簡單地告訴我應用程序已關閉,並且正在尋找解決方案。幾秒鐘之後,對話框將消失並且不再顯示任何內容。C#WinForms應用程序將不會運行在Win7後

因此,通過一些重要的努力,我將調試器附加到了進程中,但它只是向我展示反彙編,它告訴我發生的錯誤不在我的應用程序代碼中,而是在某處。

奇怪的是,當我讓調試器附加,然後按VS中的「停止」,並退出調試器,程序實際上運行在該點!

所以現在我很難過。我有一個構建的應用程序,當我運行它時似乎有權限錯誤,但是如果我讓調試程序附加然後關閉它,它將運行,並且沒有任何異常可以看到。

如何解決此問題?

編輯:應對Merlyn:

這是在C#中從頭開始編寫一個自定義應用程序。它在覈心.NET命名空間之外的唯一依賴是Ionic.Zip DLL。

的Visual Studio 2008(寫在C#3.5) 的Windows 7 - 家庭高級版,V6.1構建7600 CPU - 64位四核CPU 你下編譯:任何CPU

我還沒有嘗試過在另一臺機器上或不同版本的VS上。

編輯:我能夠在另一臺win7計算機上嘗試編譯版本,並且它沒有問題,所以它看起來像我的電腦上的安全問題(?)問題。

+1

您是否嘗試以管理員身份運行該應用程序?右鍵單擊該exe文件並選擇「以管理員身份運行」菜單選項。看看是否有幫助 – Wesley 2010-11-03 19:44:04

+1

你有沒有試過看事件日誌?它可能會提供更多信息。 (但如果以Relase模式編譯,則可能不會)。 – David 2010-11-03 19:45:33

+2

爲AppDomain.CurrentDomain.UnhandledException編寫事件處理程序,以便您*知道*發生了什麼問題。 – 2010-11-03 20:03:36

回答

-1

我建議將問題發送給Microsoft支持。尤其是對於這裏給出的數據,你將很容易說服他們這是他們的問題。你可能需要一個MSDN訂閱。

+1

你忘了開心的表情,表明你在開玩笑。 – 2010-11-03 19:45:31

+0

你*必須*在這裏開玩笑吧?諷刺? – 2010-11-03 19:45:56

+0

@Jay::)我的想法正好 – 2010-11-03 19:46:40

0

在調試器中嘗試使用Just My Code禁用並啓用本地代碼,然後檢查調用堆棧。

另外,如果直接在Visual Studio中運行,會發生什麼情況?

+0

給了它一個鏡頭,但沒有改變 - 調試器運行,告訴我它不能在運行模式下顯示反彙編,然後程序啓動。我可以停止/退出調試器,並且應用程序繼續運行。 – 2010-11-03 20:53:08

0

我知道這不是一個答案,所以請不要往下投票。放入評論只是太多了。當提問者提供信息時,我將刪除它。

你需要更多的信息才能幫助我們解決這個問題。

你在編譯什麼程序?一個自定義的應用程序,還是一個開源的應用

什麼味道:

  • 的Visual Studio
  • 的Windows 7
  • CPU
  • CPU是你下( 「任何CPU」, 「86」 等)
編譯

這個應用程序有哪些依賴項,以及您安裝了哪些版本?哪種CPU風格?

你是否已經在另一臺機器上工作了?你是否已經編譯並在不同版本的VS上工作?你有預編譯版本運行嗎?如果是這樣,請告訴我們以上所有機器。

+0

查看我的編輯 – 2010-11-03 20:53:53

1

取消選中在項目屬性中啓用Visual Studio主機進程,看看它是否仍然在VS中工作。