2011-08-30 76 views
5

代碼是大的發送到這裏,我不知道哪些部分是重要的。我在每臺電腦上都嘗試過,而且它們都無法工作。 VS2010編譯代碼沒有任何警告或錯誤,並運行應用程序罰款,也工作正常,如果我簡單地從操作系統啓動應用程序。當我把它放在不同的PC上不起作用時(我的確有Framework 4.0,其他我的應用程序工作正常)。沒有安裝Visual Studio的應用程序崩潰

在我的筆記本電腦上(win xp),它顯示「程序遇到問題,需要關閉......」。標準窗口「發送/不發送」錯誤說沒有具體的問題。

在我的電腦(win xp)上,它和筆記本電腦上的相比,我已經安裝了Visual Studio,並且它開始正常工作。當我卸載VS10時,它再次崩潰,像「沒有找到未處理的異常即時調試程序...」一樣,再次沒有具體的問題。

我的朋友帶他的筆記本電腦(贏得7),沒有消息出現,但沒有任何應用程序。它沒有做任何事情沒有消息,沒有應用程序,甚至沒有開始進程。當我點擊圖標等待光標出現2秒,這就是所有。

每次同樣的事情沒有形式甚至顯示它立即崩潰。只有PC應用程序的實際工作是PC(贏得7),我創建它,當然安裝了Visual Studio 2010。我相信其他電腦會遺漏VS2010中安裝的某些文件或.dll文件和其他垃圾文件。任何想法要尋找什麼?我無法在任何地方安裝VS,比如說「你需要Adobe Premiere才能觀看視頻」。

編輯: 活動在Windows:

Application: Floorball.exe 
Framework Version: v4.0.30319 
Description: The process was terminated due to an unhandled exception. 
Exception Info: System.IO.FileNotFoundException 
Stack: 
    at Floorball.Interface.InitializeComponent() 
    at Floorball.Interface..ctor() 
    at Floorball.Program.Main() 

[解決方法] 嘛不完全解決,但我在這是造成死機InitializeCoponent()能夠找到GUI組件。它的愚蠢LineShape!我不明白爲什麼它無法在任何地方正常工作!所以如果每個人都有類似的問題,請嘗試這個解決方案

+1

你看過Windows中的事件嗎?如果不顯示運行命令,請輸入'eventvwr'並在崩潰後立即運行。事件查看器應該顯示可能的失敗原因。 – Kangkan

+0

它是否在事件日誌中提供更多信息?轉到開始>運行並鍵入eventvwr並查看應用程序日誌中是否有任何內容。 –

+0

您需要提供更多詳細信息 - 應用程序類型,正在做什麼以及它所引用的系統庫。從你所描述的似乎有一些dll由Visual Studio安裝,不包含在標準的.net 4.0包中,但它只是猜測 – tchrikch

回答

0

嘗試編譯對.NET4客戶端配置文件浮現在我的腦海裏

+0

你是什麼意思? – Safiron

2

第一三件事情:

  • 一些.NET庫丟失。如果它已經針對.NET 4進行了編譯,則可能需要完整的框架,並且只能找到較小的「客戶端」版本。檢查可再發行組件。
  • 缺少C++庫:如果它是一個C++程序,除了.NET之外,還需要安裝C++ redist。
  • 調試/發佈:如果您在調試配置中進行編譯,程序將查找調試.NET(和C++)庫,這些庫不是由可再發行組件包安裝的。使用Release配置可解決此問題。
+0

是的,這是我認爲可能是一個問題 – Safiron

+0

試圖編譯爲發佈,仍然崩潰 – Safiron

+0

我想安裝這些C++庫我只是不知道究竟是什麼尋找它是一個instaler或更多? – Safiron

4

聽起來就像你試圖在沒有調試dll的機器上運行調試版本。嘗試編譯發佈版本,看看是否有幫助。

附錄:

另一件事可能是(但它其實只是憑空猜測沒有細節)爲64位/ 32位的差異。如果您嘗試運行的程序執行P/Invoke,那麼這可能是一個問題。如果您的項目設置爲以任何CPU爲目標,那麼它將作爲64位操作系統上的64位程序和32位操作系統上的32位程序運行。嘗試專門針對x86,看看是否改變任何東西。

+0

不幫助仍然崩潰。 – Safiron

+0

在上面的答案中添加了64位/ 32位討論 – corvuscorax

+0

我沒有使用P/Invoke,它假設是32位應用 – Safiron

0

除了答案提示,以確保您做一個發佈版本,請檢查您的項目設置:在調試選項卡,部分「調試」禁用選項「啓用的Visual Studio宿主進程」在這兩個,您的Debug和您的Release配置。

+0

這會有什麼影響?我一直認爲託管過程僅用於幫助visual studio調試器。 –

+0

@Coffee考慮它試圖幫助一個不在那裏的視覺工作室調試器。 – Filburt

+0

已嘗試不工作:( – Safiron

0

整個上午都在爲此而戰,現在它已經解決了,它爲什麼會發生。張貼希望它可以幫助其他人

我安裝了Krypton.Toolkit,它自動將工具添加到Visual Studio工具箱中。然後,我將工具添加到設計器中,該工具自動將dll添加到projrect引用,但是該工具包被標記爲CopyLocal = false

我構建了一個安裝程序,使用了release build文件夾中的所有dll(當然上面DLL不在那裏)。

設置copylocal = true,然後重建安裝程序,一切工作正常。

0

我只是在過去的兩天裏處理了這個錯誤。事實證明,對於目標框架爲.NET 4.0或.NET 4.0 CP的項目,在我的項目的案例Visual Basic DLL中,有一些.NET 4.5中不存在的DLL。

將文件打包到安裝程序中的InstallShield項目也無法檢測到此依賴性。

我的項目是一個Visual Basic(VB6)項目升級到Visual Basic .NET(VB.net)和它在某種程度上需要的DLL稱爲Microsoft.VisualBasic.PowerPacks.Vs.dll位於

C:\Program Files\Reference Assemblies\Microsoft\VBPowerPacks\v10.0

我後,才發現了這一點意識到該項目在安裝Visual Studio的情況下運行良好,但在崩潰日誌中沒有發現除System.IOException.FileNotFound之外的特定警告。在Visual Studio中瀏覽我的項目的對象資源管理器,並通過將每個DLL添加到InstallShield LE項目中來逐個嘗試每個DLL,然後將其構建並複製到安裝有發行軟件的VM,從而使我(最終)能夠到達此解決方案。

希望這可以幫助別人。