更改项目URL Visual Studio

时间:2014-01-07 18:06:20

标签: asp.net-mvc visual-studio-2013

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

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

我尝试了以下内容:

  1. 修改主机文件
  2. 为* .domain.dev添加返回127.0.0.1
  3. 的主机记录
  4. 更改项目属性中的“项目网址”。
  5. 然而,没有任何工作。当我开始调试时,我得到一个页面,显示“服务不可用”或“无效的URL”。

    我错过了什么?

    P.S。我正在使用Visual Studio 2013

2 个答案:

答案 0 :(得分:15)

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

\.vs\config

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

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

我个人使用以下配置:

enter image description here

在我的主机文件中包含以下内容:

127.0.0.1       jam.net
127.0.0.1       www.jam.net

以下是我的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>

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

How to Run Visual Studio as Administrator by default

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

答案 1 :(得分:7)

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

127.0.0.1 domain.dev
127.0.0.1 foo.domain.dev
127.0.0.1 bar.domain.dev

虽然看起来可以通过一些额外的工作来完成,但请参阅this question了解更多详情。

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

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

VS project properties

然后,您需要确保在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>

更新

<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>