27

我有一个使用 Visual Studio 2013 的网站项目,每次打开它时,它都会在 applicationHost.config 中为网站项目添加一个新条目。我使用 IISExpress 进行开发,但是我总是创建一个自定义条目来提供一些细节,并且我将它配置为使用端口 80,所以我不希望 Visual Studio 对此文件进行任何修改。

我已经进入工具 > 选项 > Web 项目并取消选中“使用 IIS Express 的 64 位版本的网站和项目”,关闭解决方案,从 applicationHost.config 中删除条目并在 Visual Studio 中重新打开项目,但是它仍然继续向 applicationHost.config 添加一个条目,并将我的网站项目命名为该条目的名称。

有没有办法完全断开 Visual Studio 与 IISExpress 的连接?我喜欢使用它,但我想自己控制该服务和配置。

4

6 回答 6

23

在 site 部分的 bindings 部分中,除了 localhost 版本之外,还创建一个新的绑定,如下所示:

 <bindings>
     <binding protocol="http" bindingInformation="*:21232:localhost" />
     <binding protocol="http" bindingInformation="*:21232:*" />
 </bindings>

在拥有两条线之后,VS 停止制作新的站点部分。

于 2015-02-04T20:18:57.813 回答
4

如何:为开发服务器指定端口

我刚刚尝试了上面msdn文章中描述的方法来更改IIS express使用的端口(虽然没有尝试80)。

  1. 右键单击解决方案资源管理器中的网站,删除(不会删除文件)
  2. 编辑 applicationHost.config 文件,更改绑定
  3. Visual Studio 中的“添加现有网站”(指向您之前删除的网站文件夹)

那时它似乎没有在 applicationHost.config 中创建新条目,而是使用新端口。

于 2013-10-31T21:39:25.303 回答
3

我们这里有同样的问题。两天谷歌搜索没有成功的解决方案。到目前为止,唯一的解决方案是使用本地 IIS 选项将网站添加到解决方案中。

于 2013-11-01T12:43:28.617 回答
1

当我在试验 VS2013 时从一个 TFS 工作区切换到另一个工作区时遇到了这个问题。我在新工作区中从 VS2012 更新到 VS2013,然后当我完成并提交更改后,我在原始工作区中获得了最新版本并开始在 VS2013 中使用它。每次我加载我的 web 项目时,我都会收到关于它正在编辑我的项目文件的消息,每次这样做时,它都会搞砸设置。

在尝试了这里的其他答案之后,这是我修复它的方法。错误的 .csproj.user 文件是问题所在。通常,我不使用此文件,因为我在 Web 属性中选中了“将服务器设置应用于所有用户(存储在项目文件中)”复选框。但是我以前用过。删除此文件,或更新它以使设置与我在项目文件中设置的设置相匹配(即设置端口,是否使用 IISExpress 等)修复它。我现在可以加载我的项目,而无需每次加载时 Visual Studio 对我的项目文件进行(错误的)编辑。

于 2015-04-16T13:07:57.623 回答
0

在项目属性中,我看到一个“Web”选项卡,其中包含一个“服务器”部分,该部分有一个下拉列表,您可以从以下选项中进行选择:

  • IIS 快递
  • 本地 IIS
  • 外部主机

我相信选择“本地 IIS”是您需要的选项。

于 2013-10-30T15:05:51.923 回答
0

如果您不想使用本地开发服务器,您可以很容易地附加到本地机器上的 IIS 进程。

有一种方法可以在属性中设置调试的构建输出位置(在解决方案资源管理器中右键单击项目并选择“属性”)。如果您想在第一次无需额外设置的情况下轻松完成此操作,只需将调试版本的输出复制到您在 IIS 中配置的网站文件夹即可。

接下来,确保您可以访问 IIS 站点。如果是这样,请返回 Visual Studio 并转到 Debug-> Attach to Process 菜单项。从列表中选择“w3wp.exe”(您可能必须检查“查看所有进程”)。您现在应该能够在 VS 中设置断点。

但是,正如@Anssssss 所说,您还应该能够使用具有特定端口的 IIS Express。

于 2013-11-01T05:05:30.150 回答