2015-06-22 66 views
1

我有這個大會針對.NET 3.5。該代碼也適用於更高版本,但我喜歡這個工作在Windows XP。我的意思是,.NET是向後兼容的,對吧?我可以運行應用程序NET 3.5Windows 8.1Visual Studio大會強制安裝目標框架

然而,當我跑我自己組裝,這需要安裝.NET 3.5第一,雖然我已經有4.5.1安裝。

如何防止安裝3.5當已經安裝了更新的東西時,其餘3.5兼容?

+1

什麼* *正是你說的意思是 「當我跑我自己集結號」?你在Visual Studio中建立這個程序集嗎?如果是這樣,它將需要.NET 3.5來知道哪些成員可用。 –

+0

是的,我在'Visual Studio'中建立了'.NET 3.5'。當我用'.NET 4.5'或'4.5.1'在機器上部署它時,它希望我下載並安裝'.NET 3.5',即使它運行良好。 – Redsandro

回答

2

有針對性的.NET版本是該應用程序默認依賴的唯一版本。 Visual Studio不會自動添加更高和向後兼容的版本。

做到這一點通過添加其他.NET版本的配置文件手動:

  1. 在Visual Studio菜單欄:
    • 選擇項目;
    • 添加新條目;
    • 從左側窗格中選擇常規;
    • 選擇應用程序配置文件;
    • 命名配置文件appName.exe.config
  2. 每一個.NET版本添加一個項目,像這樣:

代碼:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v2.0.50727"/> 
    <supportedRuntime version="v4.0"/> 
    </startup> 
</configuration> 

MSDN: Configure an App to Support .NET Framework 4 or 4.5


在.NET Framework 4.5和其點發布與向後兼容的應用程序與早期版本的.NET Framework一起構建。換句話說,使用以前版本構建的應用程序和組件無需修改就可以在.NET Framework 4.5上運行。但是,默認情況下,應用程序在開發它們的公共語言運行庫的版本上運行,因此您可能必須提供配置文件以使您的應用程序能夠在.NET Framework 4.5上運行。有關更多信息,請參閱本文前面的應用程序的版本兼容性部分。

See MSDN

+0

看起來我需要'appName.exe.config'。它在[這裏]提到(https://msdn.microsoft.com/en-us/library/jj152935(v = vs.110).aspx)。我會盡快查看。感謝您指引我朝着正確的方向發展,儘管如果答案中提供瞭解決方案(對於旁觀者和我自己而言)更好,而不是點擊幾下鼠標。 – Redsandro

+0

答案是一個複雜的多步驟過程,人們已經知道在哪裏尋找。我懷疑在我的答案中嵌入整個MSDN主題會讓任何人獲益。在這種情況下,我認爲讓人們在正確的地方/正確的話題應該夠用了,儘管我肯定會在其他話題上採取不同的行動。 – fk2

+1

我不同意,因爲我的具體問題的答案其實很簡單。但我是一個紳士,所以我不會添加自己的答案並接受它,我會編輯你的,添加相關步驟並接受它。 :) – Redsandro