我們一直在爲公司的預訂系統工作。當我們第一次嘗試在他們的計算機上運行它時,我們需要下載.NET Framework 4.0。所以我們這樣做了(或者說我們下載了4.5版本,因爲4.0的鏈接不起作用)。現在,當我們嘗試運行它時,沒有任何反應。如果沒有安裝Visual Studio,程序無法啓動?
我們已經在C#中使用實體框架構建了程序 - 如果代碼優先縮小了它,則會先執行代碼。
發佈時我們是否在設置中丟失了某些東西?我們已經嘗試在發行版和發佈嚮導中編譯它,但都無效。
我們一直在爲公司的預訂系統工作。當我們第一次嘗試在他們的計算機上運行它時,我們需要下載.NET Framework 4.0。所以我們這樣做了(或者說我們下載了4.5版本,因爲4.0的鏈接不起作用)。現在,當我們嘗試運行它時,沒有任何反應。如果沒有安裝Visual Studio,程序無法啓動?
我們已經在C#中使用實體框架構建了程序 - 如果代碼優先縮小了它,則會先執行代碼。
發佈時我們是否在設置中丟失了某些東西?我們已經嘗試在發行版和發佈嚮導中編譯它,但都無效。
這很可能是由於缺少組件。在您的開發配置中,您的所有庫都可以運行該程序,並且在部署中會有/缺少dll(s)。
您可能會嘗試的是控制開發機器的GAC,並嘗試查找您使用的除.net庫之外的任何庫是否安裝在GAC中。然後,您可能一直在從GAC引用該dll,並且在部署時,該庫可能在GAC中缺失。之前我曾在一個共享點項目中看到過這個。
此外,檢查Windows事件日誌很有用。您可以找到實際的異常。
p.s.如果這是一個asp.net項目,不要忘記在框架部署後運行regiis.exe
。
如果您的應用程序有一個GUI並且它沒有顯示意味着您的應用程序在構造函數中失敗。你能做的最好的事情就是記錄從構造的每一步像這樣的東西:
public void log(string msg)
{
StreamWriter file2 = new StreamWriter(@"c:\file.txt", true);
file2.WriteLine(msg);
file2.Close();
}
,比調用它在構造函數中每一行像
log("InitializeComponent");
後,如果您使用的FormLoad事件,你應該也在那裏做。同時檢查您的代碼空嘗試捕獲。
你確定你有發佈版本嗎? – 2013-02-09 09:40:55
檢查您的Windows應用程序事件日誌。 – 2013-02-09 09:51:31
@ ofstream /好了,我們從Debug更改爲Release,並且所有文件都在bin/Release文件夾中,至少我確信它是否是發佈版本?我不知道。 – noMad17 2013-02-09 09:54:58