2011-06-04 56 views
2

我有一位朋友從一名離職員工處傳遞了一個C#/ .NET Web項目。該項目沒有項目文件或解決方案文件,但確實有完整的文件內容,包括文件後面的代碼。如何知道用於沒有項目或解決方案文件的交付項目的.NET版本?

我們知道它是使用.NET 2.0或更高版本構建的,因爲在web.config文件中找到了一些內容。但是,這引發了一個問題:

如果您沒有項目或解決方案文件,或者您運行的是跨網站發佈的代碼庫,是否有可用於確定哪個版本的實用程序或方法。 .NET框架是爲什麼構建的? [我們需要這樣一個假設,我們不能在IIS中查看哪個版本,在這種情況下]

+0

事實證明,我剛剛從VS2010打開網站,它基本上告訴我它是什麼版本。如果有一種更確定的方式來了解,看看一個網站而不去觸摸它,或者把它拉進VS,這將會是很好的*但是現在我將與我的解決方案一起生活。 – pearcewg 2011-06-08 12:17:50

+0

http://stackoverflow.com/questions/325918/how-to-find-out-which-version-of-the-net-framework-an-executable-needs-to-run – Volomike 2012-09-14 22:32:34

回答

2

由於僅使用較早版本的功能編寫的(大多數)代碼在較新版本下編譯,因此無法可靠地確定代碼是爲哪個版本編寫的。你可以做的事情是嘗試在運行時的不同版本下構建項目,我認爲這個版本儘可能地接近你。

此外,整個.Net具有相當不錯的向後兼容性,所以在你可用的最新版本下運行將是我的第一次嘗試,如果代碼運行,我會堅持。

0

如果您有程序集,可以檢查它的屬性以查看它的目標是什麼框架。這仍然不能確切地告訴你它使用的是什麼語言版本,但它會告訴你框架的目標。

只用代碼,就沒有辦法知道某些事情。您可以使用C#4並以.NET 4爲目標,並編寫完全相同的代碼,如同針對.NET 2的C#2或針對.NET 3.5的C#3,只要您仔細選擇類。

相關問題