C# ASP.NET 5 roslyn动态编译

C# ASP.NET 5 roslyn动态编译,c#,asp.net,roslyn,dnx,kestrel-http-server,C#,Asp.net,Roslyn,Dnx,Kestrel Http Server,我有一个简单的ASP.net5webapi应用程序,它是使用yoaspnet制作的。我正在使用Visual Studio代码在Windows 10上工作(不想使用Visual Studio)。我想模拟非Windows环境下的开发 正如我所知,roslyn编译器应该动态编译更改过的文件。但当我使用以下命令运行我的应用程序时,dnu restore&&dnx--watchweb应用程序启动。但如果我(dnx--watchweb仍在运行)更改了一小部分代码并刷新了网页,则不会有任何更改 之前:

我有一个简单的
ASP.net5
webapi应用程序,它是使用
yoaspnet
制作的。我正在使用Visual Studio代码在Windows 10上工作(不想使用Visual Studio)。我想模拟非Windows环境下的开发

正如我所知,roslyn编译器应该动态编译更改过的文件。但当我使用以下命令运行我的应用程序时,
dnu restore&&dnx--watchweb
应用程序启动。但如果我(dnx--watchweb仍在运行)更改了一小部分代码并刷新了网页,则不会有任何更改

之前:

    // GET: api/values
    [HttpGet]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

我可以使用以下方法临时解决此问题:


只是想确定一下:你真的保存了文件吗?好问题,是的,我确实保存了:)
    // GET: api/values
    [HttpGet]
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2", "value3" };
    }
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }
// gulpfile.js
var gulp = require('gulp');
var bg = require("gulp-bg");

var dnxweb = null;
gulp.task('dnx:web:start', dnxweb = bg("dnx", "web"));
gulp.task('dnx:web:stop', () => {
    if (!dnxweb)
        return;
    dnxweb.setCallback((proc) => {
        if (proc.errorcode != 0)
            proc.exit(proc.errorcode);
    });
    dnxweb.stop();
});

gulp.task('watch', () => {
    gulp.watch('**/*.cs', ['dnx:web:stop', 'dnx:web:start']);
});

gulp.task('build', ['dnx:web:start', 'watch']);