2009-07-16 70 views
2

我在這一個字的損失。希望你們中的一個能夠讓我知道...ClickOnce需要程序集MyProject在GAC中?

我們已經使用ClickOnce與CruiseControl.NET一起部署了很長時間,並且很長一段時間沒有任何打嗝。

昨天,我修改了項目屬性的References選項卡,並最終被「未使用的引用...」按鈕誘惑,因爲我們的部署約爲13mb,並刪除了所有未使用的引用。檢查代碼並讓CruiseControl.NET有事情的方式後,我去檢查安裝並收到followong錯誤...

「無法安裝或運行該應用程序。該應用程序需要該程序集MyProject版本首先在全局程序集緩存(GAC)中安裝1.0.0.0。「

沒問題,我想。我會回滾到最後的版本,事情將恢復正常。當然,在現實世界中,沒有什麼是那麼容易的。我們仍然收到錯誤。

我真正看到MyProject 1.0.0.0的唯一地方是在應用程序的清單文件中。

<entryPoint> 
    <assemblyIdentity name="MyProject" version="1.0.0.0" publicKeyToken="9B95B87716692F15" language="neutral" processorArchitecture="msil" /> 
    <commandLine file="MyProject.exe" parameters="" /> 
    </entryPoint> 

對此有何意見?

回答

1

您可能有幾個問題之一。當您發佈ClickOnce應用程序時,您必須確定您的版本號是從上次發佈/安裝版本開始遞增的,或者在嘗試部署任何更改時ClickOnce會感到困惑。不過,我不確定這是錯誤信息所指示的。

此外,請確保將所有發佈的文件部署到部署服務器,包括您的新清單文件。 ClickOnce對這些文件執行散列操作以確保它們沒有被篡改。

1

晚歸晚會,但:轉到您的項目屬性>發佈>應用程序文件,並設置所有不包含在包括(不包括「包括(自動)」)。您可能必須將參考本身設置爲Copy Local = True。

相關問題