更改项目URL Visual Studio

Wil*_*iam 10 asp.net-mvc visual-studio-2013

我希望能够在localhost以外的域以及任何子域上调试我的ASP.NET MVC应用程序,换句话说:

http://domain.dev http://*.domain.dev

我尝试过以下方法:

  1. 修改Hosts文件
  2. 为*.domain.dev添加一个返回127.0.0.1的主机记录
  3. 更改项目属性中的"项目URL".

然而,没有任何工作.当我开始调试时,我得到一个页面,显示"服务不可用"或"无效的URL".

我错过了什么?

ps我正在使用Visual Studio 2013

njf*_*ife 16

对于Visual Studio 2015,上述答案中的步骤适用,但applicationhost.config文件位于新位置.在您的"解决方案"文件夹中按照路径

\.vs\config
Run Code Online (Sandbox Code Playgroud)

在该文件夹中,您将看到applicationhost.config文件

或者,您可以在解决方案文件夹中搜索.config文件并找到它.

我个人使用以下配置:

在此输入图像描述

在我的hosts文件中有以下内容:

127.0.0.1       jam.net
127.0.0.1       www.jam.net
Run Code Online (Sandbox Code Playgroud)

以及我的applicationhost.config文件中的以下内容:

<site name="JBN.Site" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Dev\Jam\shoppingcart\src\Web\JBN.Site" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:49707:" />
            <binding protocol="http" bindingInformation="*:49707:localhost" /> 
    </bindings>
</site>
Run Code Online (Sandbox Code Playgroud)

请记住以管理员身份运行visual studio 2015的实例!如果您不希望每次我推荐这样做:

默认情况下如何以管理员身份运行Visual Studio

我希望这对某人有所帮助,我在尝试升级到Visual Studio 2015时遇到了问题,并意识到我的配置都没有被转移.


dom*_*dom 7

您需要为hosts文件中的每个子域实际创建一条新记录.你不能使用通配符.

127.0.0.1 domain.dev
127.0.0.1 foo.domain.dev
127.0.0.1 bar.domain.dev
Run Code Online (Sandbox Code Playgroud)

虽然看起来可以通过一些额外的工作来完成,但请参阅此问题以获取更多详细信息.

您还需要在访问URL时包含端口号.当然,浏览器会指向http://foo.domain.dev:0000使用VS中分配的端口号.

如果您使用的是Visual Studio开发服务器,那就是它的全部内容.如果使用IIS Express,则需要更多工作.

VS项目属性

然后,您需要确保在IIS applicationhost.config文件中有记录:

<site name="YourApplication" id="25">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Path\To\Your\App" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:2750:foo.domain.dev" />
    </bindings>
</site>
Run Code Online (Sandbox Code Playgroud)

更新

<site name="DomainProject" id="18">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\William\Source" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:32939:domain.dev" />
        <binding protocol="http" bindingInformation="*:32939:domain2.dev" />
    </bindings>
</site>
Run Code Online (Sandbox Code Playgroud)

  • 我已经拥有了所有这些设置(我只是重新检查以确保它与您完全一样).我收到以下消息:"无法启动IIS Express Web服务器.指定的起始URL无效.http://domain.dev:3229" (4认同)
  • 看起来不适用于VS 2015,因为我的VS2015项目没有出现在配置文件中. (3认同)