簡體   English   中英

帶有.NET Framework 4.0的Windows XP SP3上的.NET Framework 3.0應用程序

[英].NET Framework 3.0 App on Windows XP SP3 with .NET Framework 4.0

我的應用程序的Target .NET Framework為3.0。

我有一台裝有全新Windows XP SP3的電腦。 接下來,我在其上安裝了.NET Framework 4.0 Full。

當我嘗試運行ClickOnce部署的應用程序時,出現“無法加載運行時”錯誤:

[9/9/2011 11:39:53 AM] System.Runtime.InteropServices.COMException
    - Failed to load the runtime. (Exception from HRESULT: 0x80131700)
    - Source: System.Deployment
    - Stack trace:
        at System.Deployment.Application.NativeMethods.IClrMetaHostPolicy.GetRequestedRuntime(MetaHostPolicyFlags policyFlags, String binaryPath, IStream configStream, StringBuilder version, Int32& versionLength, StringBuilder imageVersion, Int32& imageVersionLength, Int32& pdwConfigFlags, Guid interfaceId)
        at System.Deployment.Application.NativeMethods.GetAssemblyCacheInterface(String CLRVersionString, Boolean FetchRuntimeHost, CCorRuntimeHost& RuntimeHost)
        at System.Deployment.Application.PlatformDetector.VerifyPlatformDependencies(AssemblyManifest appManifest, AssemblyManifest deployManifest, String tempDir)
        at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
        at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
        at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
        at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

我的理解是,針對.NET 3.0的應用程序應該適用於安裝了.NET 4.0的計算機。 導致此錯誤的原因是什么? 我必須在Windows XP計算機上安裝.NET Framework 3.5 SP1嗎?

是的我會安裝.NET Framework 3.5並再試一次,如果它不起作用我會安裝3.0( Microsoft .NET Framework 3.0 Redistributable Package )。

.NET 3.5 SP1和.NET 4都存在於我們部署應用程序的機器中。

編輯:

還要檢查以下問題:

我應該附帶什么.NET Framework版本; 2,3,3.5?

如果安裝了3.5,是否需要.net framework 2.0?

正如Davide Piras所說,你需要安裝.NET 3.0。 您需要做的是.NET 4不是3.5 / 3.0 / 2.0庫的依賴超集。

.NET 3.5是3.0庫以及一些額外的庫。 .NET 3.0是2.0庫以及一些額外的庫

但是,.NET 4是一組全新的庫,它們與2.0 / 3.0 / 3.5並行存在。 我相信這是.NET 4使用新的CLR運行時而不是2.0 / 3.0 / 3.5的結果。 2.0 / 3.0 / 3.5都使用相同的運行時,因此每個新版本都需要安裝以前的版本。

這是一個COMException,所以我想說可能沒有正確設置組件。

檢查發布選項卡下的項目屬性。 在“應用程序文件”中,選中“顯示所有文件”,並確保將所有需要標記為已包含。

在那里,您還可以要求應用程序下載所需的組件(例如適當的框架)。

過去,我發生了這種誤導性的錯誤信息。 也可能只是作為其他回復的框架。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM