![](/img/trans.png)
[英]Get ASP.NET Core API version programmatically in integration test
[英]Getting ASP.NET Version programmatically
在某些客户端计算机中,我们遇到了一些与.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? 这有意义吗?
抱歉,我没有足够的声誉来添加图像。
我可以回答你的第一个问题。
您可以像这样以编程方式接收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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.