使用开发时IIS支持时出错

时间:2017-08-15 17:13:24

标签: iis asp.net-core visual-studio-2017

我昨天安装了Visual Studio 2017.3,并尝试使用新的开发时间IIS支持功能。我想我遇到了一个错误,我想知道是否有人知道解决这个错误。当我将它与新项目一起使用时,它在大多数情况下都可以正常工作。在大多数情况下,我认为它有时会被破坏,具体取决于项目所在的位置/缓存数据的状态等。

有时我会收到错误"值不能为空。参数名称:name" 。那是整个错误。没有日志文件,没有额外信息。

  • 我尝试为我正在使用的现有项目启用该功能 在,它得到了那个错误。
  • 我尝试在一个新的解决方案中添加一个新的Web项目,它运行良好。我尝试在与我的项目相同的解决方案中添加一个新的Web项目,它没有用。
  • 我删除了所有临时文件,所有bin obj和.vs文件夹以及.user文件 解。同样的问题。
  • 我删除了临时文件夹,visual studio用户个人资料数据,并重新启动了PC同样的问题。
  • 我再次尝试使用没有'的项目。在名称中,它起作用了。
  • 我对正在运行的项目进行了一些修改,并尝试再次启动我遇到了同样的错误。
  • 我还原了所有更改,以便项目回到了#34;空项目"状态,仍然是同样的错误。
  • 我删除了该项目。退出visual studio,删除所有temp / .vs / .use / bin / obj文件。然后重新启动并再次添加项目,它工作正常。
  • 我重新启动了VS并试图重新启动它没有用。
  • aspnet核心版本似乎与bug无关。我遇到了针对1.1和2.0的项目的问题,并且该功能也适用于这两个版本。

很明显这是VS2017.3中的一个错误。因为即使我做错了,我至少应该得到一个错误,解释我做错了而不是ArgumentNullException消息。我已经做了一个bug报告。我想知道是否有人知道一个解决方法的bug。

提前多多感谢。

1 个答案:

答案 0 :(得分:3)

经过一些调查并在微软Visual Studio团队的一位乐于助人的成员的帮助下,我发现Visual Studio在授予IIS App Pool帐户的文件夹读取权限时失败了。获取应用程序池帐户名称的方法返回null,并且当该空值传递给System.Security.Principal.NTAccount类构造函数时,抛出ArgumentNullException。

为我解决问题的解决方法是将App Pool更改为任何其他App Pool,尝试启动,然后将其更改回原始/所需的App Pool。