簡體   English   中英

如何在項目中更改.NET框架版本?

[英]How do I change the .NET framework version on a project?

我試圖使用微軟參考源,但遇到了問題。 根據他們的故障排除建議,我試圖驗證我使用的是正確的.NET框架版本。 然而ildasm顯示了這個:

在此輸入圖像描述

然而,我確實改變了項目的目標框架,如下所示:

在此輸入圖像描述

我是否需要在其他地方更改版本?

你得到的是准確的。 面向.NET 4.5或4.5.1的項目仍使用CLR版本4.0.30319和核心框架程序集,如mscorlib v4.0.0.0

這很大程度上與.NET版本3.0,3.5和3.5SP1的情況重復,它們的目標是CLR版本2.0.50727和核心框架程序集v2.0.0.0。 就像4.5和4.5.1一樣,它們並不是新的並排版本。 他們只是將新組件添加到現有集合中。

您仍然可以使用ildasm.exe告訴您選擇了哪個目標,查看您在元數據中看到的System.Runtime.Versioning.TargetFrameworkAttribute屬性。 CLR會對此進行檢查,以確保您不會嘗試在.NET 4.0或4.5安裝上運行4.5.1。 提供下載所需的版本。 它看起來像這樣(為了便於閱讀而編輯):

 .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = 
( 01 00 1C 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B   // ....NETFramework
  2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 2E 31 01   // ,Version=v4.5.1.
  00 54 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73   // .T..FrameworkDis
  70 6C 61 79 4E 61 6D 65 14 2E 4E 45 54 20 46 72   // playName..NET Fr
  61 6D 65 77 6F 72 6B 20 34 2E 35 2E 31 )          // amework 4.5.1

如果您嘗試從Metadata版本確定.Net框架版本,那么這不是正確的方法。

元數據版本顯示運行時版本或CLR版本。

.NET Framework 4,4.5和4.5.1包括CLR 4,但.NET Framework 2.0,3.0和3.5包括CLR 2.0。 (CLR沒有第3版。)

因此,對於.Net framework 4,4.5和4.5.1,您將看到相同的CLR版本,即V4.0.30319。 您可能會看到這個用於識別.Net框架版本的答案

暫無
暫無

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

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