2011-11-23 171 views
3

我在.Net中開發了一個桌面應用程序。我已經發布並將其部署在我的客戶端系統中。但是,當我的客戶端運行該設置時,會顯示一條錯誤消息:無法安裝或運行應用程序....在桌面應用程序中

無法安裝或運行該應用程序。該應用程序需要首先在全局程序集緩存(GAC)中安裝程序集Microsoft.SqlServer.Diagnastics.STrace版本10.0.0.0

該怎麼辦?

+1

您需要在安裝程序中包含此文件作爲先決條件 – edepperson

+0

對不起,我無法理解.. – RobinHood

回答

1

也許,這個DLL不存在於全局程序集緩存中。

您可以通過下面的命令添加到assemblyGAC

GACUTIL –i <Path to Microsoft.SqlServer.Diagnostics.STrace.dll> 
+0

我在哪裏可以檢查此程序集是否存在... – RobinHood

+0

我曾經運行此GACUTIL -i <路徑到Microsoft.SqlServer.Diagnostics.STrace.dll> cmd提示符.....「命令的語法是錯誤的」即將到來 – RobinHood

+0

在visual studio命令promt中運行它,或者在實際包含Gacutil.exe – CodingBarfield

0

找到,如果STrace.dll文件存在於您的客戶端計算機上,你可以用這個命令行搜索一下: DIR Microsoft.SqlServer .Diagnostics.STrace.dll/s的

如果找到該文件,用以前的anwser命令行到DLL添加到全局asembly緩存

如果沒有,你必須增加該F作爲部署項目的先決條件 如果您有安裝項目(例如installshield/MS安裝項目/ Clickonce項目,可以在安裝項目屬性中添加先決條件。

當您添加先決條件時,您應該能夠選擇先決條件必須與應用程序一起打包還是從發佈者網站下載。

+0

未找到文件將在cmd中提示... – RobinHood

+0

如何在客戶端計算機上部署您的應用程序? – Webmixer

1

打開項目屬性形成在Visual Studio解決方案資源管理

屬性 - >發佈 - >應用程序文件

在應用程序的文件窗口中勾選顯示在右下角的所有文件。更改發佈狀態「Microsoft.SqlServer.Types.dll」「先決條件(自動)」包括單擊確定併發布應用程序。

+0

該操作詢問Microsoft.SqlServer.Diagnastics。STrace不是Microsoft.SqlServer.Types.dll。我有這個相同的問題,並嘗試設置發佈狀態爲「先決條件(自動)」,它仍然無法正常工作。 – reggaeguitar

0

什麼解決了我的問題是我不得不做什麼@ShahidRaees除了包括所有的程序集。除了以.pdb結尾的文件之外,我選擇了它們全部。

選擇所有這些應該會在安裝程序時自動更新GAC,但我不是100%確定的。

相關問題