![](/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.