2

我正在 Visual Studio 2015 社区中开发 .NET Core 1.0 Web 应用程序。

显然有一个自动构建功能,我应该能够在没有调试(ctrl+ F5)的情况下运行,并且我对代码所做的任何更改都应该通过刷新页面来反映,但我无法让它工作。

我对视图所做的任何更改都会通过页面刷新反映出来,无论我是否在调试(F5ctrl+ F5)的情况下运行,但我对控制器或其他代码所做的任何更改都不会。

当我在有或没有调试的情况下运行时,都会出现一个命令提示符。

在此处输入图像描述

如果我在没有调试的情况下运行项目然后尝试构建,我会收到以下错误

Projects\MyProject\bin\Debug\netcoreapp1.0\ASPNET_Core_1_0.dll' for writing -- '进程无法访问文件'C:\Users\Adam\Desktop\Visual Studio Projects\MyProject\bin\Debug\netcoreapp1.0 \ASPNET_Core_1_0.dll',因为它正被另一个进程使用。'

所以如果我在没有调试的情况下运行一个项目,我需要关闭这个命令提示符,然后在有或没有调试的情况下重新运行以查看更改。

任何帮助将不胜感激。

4

1 回答 1

2

我注意到,如果我在没有调试的情况下使用 IIS Express运行我的应用程序,我可以获得这个自动构建功能。在我对代码进行一些更改后,我可以通过F5在浏览器中按下来获得该结果。

但是,如果我直接使用 WebApplication 作为目标运行它,我将无法获得此自动构建功能。我必须修改 project.json,如下例所示:

"tools": {
  "Microsoft.DotNet.Watcher.Tools": "1.0.0-preview2-final"
},

我必须profiles在属性文件夹中的launchSettings.json部分中添加一些行:

"dotnet watch": {
      "executablePath": "C:\\Program Files\\dotnet\\dotnet.exe",
      "commandLineArgs": "watch run --server.urls http://*:5000",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000/",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }

将目标更改为 Dotnet Watch

之后,我可以通过选择 dotnet watch 作为目标来获得这个自动构建功能,无论是否调试。感谢asp.net coreRehan Saeed

于 2016-10-17T01:33:17.980 回答