2011-06-04 58 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,只要您仔细选择类。

相关问题