ASP.NET 5 项目未正确面向 .NET 4.6.1,无法调试

本文关键字:NET 调试 项目 ASP | 更新日期: 2023-09-27 18:30:31

我正在运行ASP。NET5 RC1 UPDATE1。 在project.json中,我的框架是"dnx461"。 当我尝试调试(在 IIS Express 中,DNX_IIS_RUNTIME_FRAMEWORK设置为 DNX461)时,我收到以下警告:

警告 MSB3274 无法解析主引用"C:''mydll.dll",因为它是针对".NETFramework,版本=v4.6.1"框架。这是比当前目标框架更高的版本"。NETFramework,版本=v4.5.1"。 WebTest C:''Program Files (x86)''MSBuild''14.0''bin''Microsoft.Common.CurrentVersion.targets

"mydll"是一个.NET 4.6.1 DLL。 当我尝试使用 IIS Express 进行调试时,我在调试窗口中得到以下输出:

'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''WINDOWS''Microsoft.Net''assembly''GAC_32''mscorlib''v4.0_4.0.0.0__b77a5c561934e089''mscorlib.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'Microsoft.Dnx.Host.Clr'.找不到或打开 PDB 文件。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''WINDOWS''Microsoft.Net''assembly''GAC_MSIL''System''v4.0_4.0.0.0__b77a5c561934e089''System.dll'。跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''WINDOWS''Microsoft.Net''assembly''GAC_MSIL''System.Configuration''v4.0_4.0.0.0__b03f5f7f11d50a3a''System.Configuration.dll'。跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''WINDOWS''Microsoft.Net''assembly''GAC_MSIL''System.Core''v4.0_4.0.0.0__b77a5c561934e089''System.Core.dll'。跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.Host.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''WINDOWS''Microsoft.Net''assembly''GAC_MSIL''System.Xml''v4.0_4.0.0.0__b77a5c561934e089''System.Xml.dll'。跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Extensions.PlatformAbstractions.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.Loader.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.ApplicationHost.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 加载了 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.Runtime.dll'。跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.Compilation.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 'dnx.exe' (CLR v4.0.30319: DefaultDomain): 已加载 'C:''Users''devuser.dnx''runtimes''dnx-clr-win-x86.1.0.0-rc1-update1''bin''Microsoft.Dnx.Compilation.Abstractions.dll'.跳过加载符号。模块已优化,并启用了调试器选项"仅我的代码"。 程序"[16968] dnx.exe"已退出,代码为 1 (0x1)。 程序"[16968] dnx.exe:程序跟踪"已退出,代码为 0 (0x0)。 程序"[20612] iisexpress.exe:程序跟踪"已退出,代码为 0 (0x0)。 程序"[20612] iisexpress.exe"已退出,代码为 -1 (0xffffffff)。

我正在使用带有更新 1 的 VS2015。 我该如何解决这个问题?

ASP.NET 5 项目未正确面向 .NET 4.6.1,无法调试

因此,

从网上挖掘来看,目前似乎 .NET 4.6.1(从 RC1 更新 1 开始不支持)。 我将项目切换回 .NET 4.6,并在project.json中使用dnx46,一切都按预期工作。

将目标框架更改为 .NET 4.6.1。

在解决方案资源管理器中右键单击项目,然后选择"属性"。然后,在"应用程序"选项卡下,选择新的目标框架。