我的project.json
包括两个框架:
"frameworks": {
"dnx451": { },
"dnxcore50": { }
}
在Visual中通过调试>启动运行应用程序时,Visual使用dnx451
。我们如何要求Visual使用dnxcore50
呢?
以下是我尝试过的:
用例是在具有完整框架的系统上测试CoreCLR。我们该怎么做?最后一个结果是,我可以将dnx451
从project.json
中删除,尽管这似乎是一次黑客攻击。
发布于 2015-07-03 20:37:04
我不需要评论dnx451
。相反,这就是起作用的地方。
首先,从命令行
我最初遇到的问题是,在Properties > Debug页面上,beta6没有将.NET核心作为一个平台选项,因为我还没有下载该运行时。因此,我需要运行以下命令来检索它(除非需要,否则不要包含-unstable
)。
dnvm upgrade -unstable -runtime coreclr
在此之后,dnvm list
现在显示这个。我想把目标对准beta6
,coreclr
,x86
,这就是现在该做的。太完美了。
Active Version Runtime Architecture Location Alias
------ ------- ------- ------------ -------- -----
1.0.0-beta4 clr x64 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta4 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta4 coreclr x64 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta4 coreclr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta5 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta5-12087 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta6 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta6-12085 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta6-12120 clr x86 C:\Users\BigFont\.dnx\runtimes
1.0.0-beta6-12170 clr x86 C:\Users\BigFont\.dnx\runtimes
* 1.0.0-beta6-12170 coreclr x86 C:\Users\BigFont\.dnx\runtimes default
现在,在内部
转到> Properties > Debug。现在,我们可以选择用于调试应用程序的特定运行时版本、平台和体系结构。由于我们刚刚下载了beta6 coreclr,该选项现在可作为.NET核心。
在保存时,Visual将将此设置作为sdkVersion
发送到项目的sdkVersion
文件中。
{
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNET_ENV": "Development"
},
"sdkVersion": "dnx-coreclr-win-x86.1.0.0-beta6-12170"
}
}
}
现在,当我们从Visual运行这个应用程序时,它将使用核心CLR beta6运行,即使我们的project.json同时列出了dnx451
和dnxcore50
。
发布于 2015-07-03 19:21:58
这不是一个黑客,目前它是一个标准。看看这里:http://docs.asp.net/en/latest/conceptual-overview/dotnetcore.html#building-applications-with-net-core
你只需要删除或评论这些行。
如今,由于采用了多平台模式,ASP.NET似乎更多地关注命令和配置文件,而更少地使用visual和接口。
https://stackoverflow.com/questions/31212949
复制相似问题