【问题标题】:How to test multiple ASP.NET 5 projects in IIS without publishing?如何在不发布的情况下在 IIS 中测试多个 ASP.NET 5 项目?
【发布时间】:2015-10-26 03:16:23
【问题描述】:

我喜欢在以前的版本中进行测试/调试的方式 - 在 IIS 中托管项目,重新构建,刷新,然后您就会看到更改。需要调试时将 w3p 进程附加到 VS。

似乎新的 ASP.NET 5 不允许我轻松做到这一点。将项目发布到 IIS 以查看更改是很乏味的,尤其是多个项目。在连续运行的过程中托管多个项目以便快速构建和测试的正确方法是什么?假设您有 1 个 MVC 和 6 个 webapi 应用程序相互通信。

【问题讨论】:

  • 我在 WCF Web 服务项目上使用它(我假设你也可以在 WebApi 项目上这样做):在 VS2013 或 VS2015 中,我右键单击该项目,选择 Debiug,然后Start new instance。然后您可以正常运行 MVC 应用程序(通过F5
  • @FrankFajardo,这在一两个项目中很好,但在多个项目中效率不高。
  • 所以你想同时调试 6 个 WebAPI 应用?以前做过什么现在做不到的事?
  • 不一定是调试。有时我只是想看看对项目所做的更改。如果托管在 IIS 中,我可以重建解决方案并直接查看更改。现在我必须使用“无调试启动”将更改推送到每个单独项目的 IIS express 以查看更改。 IIS express 停止后,测试 URL 也可能停止工作

标签: asp.net iis asp.net-core asp.net-core-mvc


【解决方案1】:

如果您在 IIS 中手动设置网站并将这些网站映射到发布输出文件夹 (\artifacts\bin...\Release\PublishOutput),这应该可以工作

已编辑:

如果这样做了,在 project.json 中添加一个构建后事件:

"scripts": {
  "postbuild": [ "dnu publish"],
  "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}

也许你需要在你的机器上安装 bower 和 gulp:

npm install -g bower
npm install -g gulp

如果构建完成,您将在工件中找到已发布的输出。

希望这会有所帮助。

【讨论】:

  • 您好 Juergen,我遵循了您的建议,但重建没有发布更改并选中了“生成时生成输出”。使用托管在 IIS 下的应用手动发布单个项目时,也会出现“文件使用错误”。
  • 嗨,你是对的,原始答案中的方法只是将应用程序发布为 NuGet 包。我玩了一下,找到了解决方案。我编辑了帖子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
相关资源
最近更新 更多