在某些客户端计算机中,我们遇到了一些与.NET Framework相关的不兼容问题。
遇到服务器错误时,会显示错误页面。 在页面底部我们有这些信息:
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1637.0
我已经阅读了不同的帖子并尝试了多种方法,以便以编程方式获得该值,但没有成功。
这就是我的尝试:
1)
Console.WriteLine(Environment.Version.ToString());
结果:
4.0.30319.42000
2)以编程方式阅读:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET
结果:
4.0.30319.0
3)以编程方式阅读:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full
结果:
4.6.01586
您可以确认这些值中没有一个映射错误页面中显示的ASP.NET版本。
所以,我有两个问题:
1)如何以编程方式获取ASP.NET版本?
2)我遇到了一个.NET4.6显然已安装但ASP.NET版本为4.0.30319的情况(怀疑是这导致失败)。 有没有办法只升级ASP.NET?这有什么意义吗?
我很抱歉我没有足够的声誉来添加图片。
答案 0 :(得分:0)
我能回答你的第一个问题。
您可以通过以下方式以编程方式接收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;
}