1

を使用して作成された単純なASP.NET 5Web Api アプリケーションがありyo aspnetます。Visual Studio Code を使用して Windows 10 で作業しています (Visual Studio を使用したくありません)。非 Windows 環境からの開発をシミュレートしたい。

私が知っているように、roslynコンパイラは変更されたファイルを動的にコンパイルする必要があります。しかし、次のコマンドでアプリを実行すると、dnu restore && dnx --watch webアプリケーションが起動します。しかし、その後 (dnx --watch webまだ実行中) コードの一部を変更して Web ページを更新すると、注意事項が変更されます。

前:

    // 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" };
    }

これがキャッシュの原因であるかどうかを確認しましたが、そうではありません。ここで何が欠けていますか?

ノート:

これが Web サーバーの原因である可能性があることに気付きましたKestrel。私の一部がありますproject.json

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }
4

1 に答える 1

1

gulp.jsを使用して、この問題に対する一時的な解決策があります。

// 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']);
于 2016-05-15T10:11:52.507 に答える