C# 以编程方式获取ASP.NET版本
在一些客户端机器中,我们遇到了一些与.NET Framework相关的不兼容问题 遇到服务器错误时,将显示错误页面。 在页面底部,我们有以下信息:C# 以编程方式获取ASP.NET版本,c#,asp.net,.net,iis,version,C#,Asp.net,.net,Iis,Version,在一些客户端机器中,我们遇到了一些与.NET Framework相关的不兼容问题 遇到服务器错误时,将显示错误页面。 在页面底部,我们有以下信息: Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1637.0 我读过不同的帖子,并尝试了多种方法,以编程方式获得该值,但没有成功 这就是我所尝试的: (一) 结果: 4.0.30319.42000 4.0.30319.0
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1637.0
我读过不同的帖子,并尝试了多种方法,以编程方式获得该值,但没有成功
这就是我所尝试的:
(一)
结果:
4.0.30319.42000
4.0.30319.0
4.6.01586
2) 按程序阅读:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
结果:
4.0.30319.42000
4.0.30319.0
4.6.01586
3) 按程序阅读:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
结果:
4.0.30319.42000
4.0.30319.0
4.6.01586
正如您可以确认的那样,这些值都没有映射到错误页面中显示的ASP.NET版本
因此,我有两个问题:
1) 如何以编程方式获取ASP.NET版本
2) 我曾经遇到过这样一个案例:显然安装了.NET4.6,但ASP.NET版本是4.0.30319(人们怀疑这是导致失败的原因)。
有没有办法只升级ASP.NET?这有什么意义吗
很抱歉,我没有足够的声誉来添加图像。我可以回答您的第一个问题 您可以通过以下方式以编程方式接收ASP.NET版本:
var netPath =
System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory();
var systemWebPath = Path.Combine(netPath, "System.Web.dll");
if (File.Exists(systemWebPath))
{
FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(systemWebPath);
string version = fileVersionInfo.ProductVersion;
}
不执行
typeof(Page).Assembly.GetName().Version//ASP.NET版本
不工作?它给出了执行程序集的版本,在我的例子中是1.0.0.0。(这是一个控制台应用程序)