我们使用Visual Studio Code和DNX如下.
用于启动Web服务器的命令行
dnx . web
Run Code Online (Sandbox Code Playgroud)
project.json>命令
"web": "Microsoft.AspNet.Hosting
--server Microsoft.AspNet.Server.WebListener
--server.urls http://localhost:5001"
Run Code Online (Sandbox Code Playgroud)
请注意,为了便于阅读,我们添加了回车符.
当我们更改*.cshtml并刷新浏览器时,更改会显示在浏览器中.这很好.
当我们更改*.cs并刷新浏览器时,更改不会显示在浏览器中.我们希望他们愿意.要查看更改,我们需要停止Web服务器(Ctrl + C在命令行中),然后再次启动它dnx . web.
这不是世界末日; 那就是说,我认为ASP.NET 5的一个特性就是能够在不重新编译的情况下进行刷新等.
我们如何更改*.cs代码并刷新浏览器以查看更改而无需重新启动DNX Web服务器?
我们已经尝试过运行dnx --watch . web问题,如果我们更改*.cs文件,那么Web服务器会停止,我们无论如何都必须重新启动它.
我正在尝试使用运行我的 xUnit 单元测试vstest.console.exe,但未找到任何测试。
我使用的vstest.console.exe是 Visual Studio 2015,可以在以下位置找到:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\ Microsoft\TestWindow
命令运行:
vstest.console.exe "C:\MyProject\artifacts\bin\UnitTest\Release\dnx451\UnitTest.dll" /TestAdapterPath:"C:\MyProject\packages"
Run Code Online (Sandbox Code Playgroud)
回复:
正在开始测试执行,请稍候...
警告:所提供的来源中没有可用的测试。确保已安装的测试发现器和执行器、平台和框架版本设置合适,然后重试。
我还尝试使用以下 TestAdapterPath 参数,但遇到同样的问题:
/TestAdapterPath:"C:\MyProject\packages\xunit.runner.visualstudio"
/TestAdapterPath:"C:\MyProject\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109"
/TestAdapterPath:"C:\MyProject\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build"
/TestAdapterPath:"C:\MyProject\packages\xunit.runner.visualstudio\2.1.0-beta4-build1109\build\_common"
Run Code Online (Sandbox Code Playgroud)
文件project.json:
{
"dependencies": {
"xunit": "2.1.0-beta4-build3109",
"xunit.runner.dnx": "2.1.0-beta4-build134",
"xunit.runner.visualstudio": "2.1.0-beta4-build1109"
},
"commands": {
"test": "xunit.runner.dnx"
},
"frameworks": {
"dnx451": { }
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何运行这些测试?
编辑:使用 DNX beta6 运行时。
我有一个从 VS2015 中的 ASP.NET 5 预览模板创建的 Web 应用程序项目。它在 dnx 1.0.0-beta7 上运行,但我使用完整的 .NET 框架而不是 .NET Core。
在同一解决方案中,我有一个 NUnit 类库项目,但是当尝试在此处添加 Web 项目作为引用时,Visual Studio 提示“无法添加对‘...’的引用。”
有解决方法吗?或者单元测试 ASP.NET vNext 应用程序的首选方法是什么?
在aspnet 5中,我创建了一个带有dotnet5.4和的项目net451.因为它是一个类库我认为它不需要运行时所以使用net451而不是dnx451(我疯狂猜测).但究竟是dotnet5.4什么呢?
我想删除clr和coreclr的所有beta版本,我无法在程序和功能中看到它们.
我正在运行Windows 7
我删除了%USERPROFILE%.dnx\packages中的所有文件,但是当我运行时
dnvm list
Run Code Online (Sandbox Code Playgroud)
我还是看到了他们.
我正在搞乱dnvm,我运行了dnvm升级,让我进入beta5.但是,我正在研究的项目是beta4(至少目前为止).
我一直试图恢复和失败.我已经删除了运行时文件夹.现在,当我打开项目或尝试创建一个新项目时,我收到以下错误:

这是预期的,因为我删除了该文件夹.但是,我想使用dnx-clr-beta4.我的dnvm列表如下:

我需要做些什么才能使Visual Studio代替beta4?感谢您的时间.
在我和其他人的许多项目中,如果我使用的是另一个不同的asp.net5项目的对象,则会弹出一个不明确的引用错误.有趣的是,它仍然编译和工作,但没有intellisense,我的代码被红线覆盖.
这方面的一个例子是我有一个指向我的MVC项目的测试项目.当我尝试创建一个新的XController实例时,它将显示一个错误,它不知道哪个XController使用DNX 4.5.1或DNX 5.0.我知道那些是什么,但它不会让我选择,即使我觉得我不应该.再次,它的工作,只是令人沮丧.
我能让这个工作的唯一方法就是我只为我的MVC项目选择一个框架.我不喜欢这样做,因为我想知道dnxcore50是否不支持我在MVC应用程序中编写的内容.我只尝试在单元测试项目中使用一个框架但是没有用.
我想明确一点,我确实理解asp.net 5的东西是测试版,并且有很多错误.我想知道这是一个错误还是我只是做错了什么.
更新1:如果我有一个新的Asp.Net 5类库引用Asp.Net 5 Mvc项目,似乎只会出现问题.图书馆到图书馆的工作和mvc到图书馆也有效.
我已按照此链接运行dnx控制台应用程序.我创建了两个文件Program.cs和project.json,其中包含链接中提到的内容
这是我执行的命令序列
F:\first-dnx> dnvm list
Active Version Runtime Architecture OperatingSystem Alias
------ ------- ------- ------------ --------------- -----
1.0.0-beta6 clr x86 win
1.0.0-beta6 coreclr x64 win
* 1.0.0-beta8-15530 clr x86 win default
F:\first-dnx> dnu restore
Microsoft .NET Development Utility CLR-x86-1.0.0-beta8-15530
Restoring packages for F:\first-dnx\project.json
CACHE https://www.myget.org/F/aspnetvnext/api/v2/
CACHE https://www.nuget.org/api/v2/
Writing lock file F:\first-dnx\project.lock.json
Restore complete, 490ms elapsed
NuGet Config files used:
C:\Users\sam\AppData\Roaming\NuGet\NuGet.Config
Feeds used:
https://www.myget.org/F/aspnetvnext/api/v2/
https://www.nuget.org/api/v2/
F:\first-dnx> dnu build
Run Code Online (Sandbox Code Playgroud)
该项目已成功构建,但当我尝试运行以下应用程序时,抛出异常
F:\first-dnx> dnx . run
System.InvalidOperationException: Unable to load application or …Run Code Online (Sandbox Code Playgroud) 以前我可以使用它来获取类的泛型类型;
typeof(MyClass).GetTypeInfo().DeclaredProperties.Any(p => p.PropertyType.IsGenericType)
Run Code Online (Sandbox Code Playgroud)
但是,在DNX Core 5.0中,IsGenericType不受支持.我现在可以用什么?
我正在尝试逐个执行我的测试,没有并行.
我试图在我的xunit.runner.json文件上配置它,但没有成功:
{
"maxParallelThreads": 1,
"parallelizeAssembly": false,
"parallelizeTestCollections": false,
"preEnumerateTheories": false
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?