Visual studio 2015 在visual studio 2015中为网站设置根目录(~)

Visual studio 2015 在visual studio 2015中为网站设置根目录(~),visual-studio-2015,web-site-project,document-root,Visual Studio 2015,Web Site Project,Document Root,所以这让我发疯了… 我在Visual Studio 2015中的一个网站上工作(因此从开始页开始:文件>新建>网站…不是新建项目>Web>ASP.NET Web应用程序),当我使用VS作为调试器/localshost时,一切都很顺利。现在,要小心,我想把网站上传到www.mysite.com/sandbox/文件夹中,在那里我可以测试一些进一步的项目,比如数据库访问等(因为该网站是实时的,在我准备好之前我不想替换它)。但出于某种原因,所有文件(通过localhost运行良好)似乎都指向母版页和其


所以这让我发疯了…
我在Visual Studio 2015中的一个网站上工作(因此从开始页开始:文件>新建>网站…不是新建项目>Web>ASP.NET Web应用程序),当我使用VS作为调试器/localshost时,一切都很顺利。
现在,要小心,我想把网站上传到www.mysite.com/sandbox/文件夹中,在那里我可以测试一些进一步的项目,比如数据库访问等(因为该网站是实时的,在我准备好之前我不想替换它)。但出于某种原因,所有文件(通过localhost运行良好)似乎都指向母版页和其他项目的“/”而不是“/sandbox/”
有没有办法告诉VS,根不是它认为的地方? 到目前为止,我已经验证了这纯粹是根位置的问题:我谨慎地创建了一个不同的项目(使用我可以在live server上轻松找到和删除的文件名),以查看服务器上是否有任何错误,但是如果我保持文件中的根与服务器上的根相同,则它们的加载情况良好(换句话说,如果我将我的站点上传到根目录,引用就可以了)。顺便说一句,我过去曾在根目录级别直接为一个不活跃且运行良好的站点工作过。
有没有办法(也许在web.config中)告诉它,每当我在页面上设置MasterPageFile=“~/Master/masterPage.Master”时,它实际上应该指向MasterPageFile=“~/sandbox/Master/masterPage.Master”?我以为“~”会解决这个问题,但显然不会? 基于Google搜索,我发现在Web应用程序(而不是Web站点)中有一种定义“Web”部分的方法,但该选项在这里似乎不可用

任何帮助都将不胜感激。
谢谢,
乔伊

编辑:

所以,有人告诉我这看起来像一堵“文字墙”(不管这意味着什么)。。。 让我用一步一步的例子来说明更多的细节,也许有人能给我一个正确的方向

  • 打开VS2015,进入文件>新建>网站…从
    已安装\Tempates\Visual Basic\ASP.NET空网站->确定
  • 右键单击解决方案下的项目并添加>母版页,然后单击 编辑MasterPage.master以包含以下内容:

    
    大师的一些内容
    
    首先,确保您在所有应用程序根相对URL中实际使用了
    ~/

    其次,确保您的应用程序在IIS应用程序范围内-这是最重要的一步,因为这是IIS告诉ASP.NET
    /sandbox/
    (子目录)是应用程序的根目录,而不是
    /
    (网站的根目录)

    在IIS管理器中,在左侧的树状视图中打开网站,选择代表应用程序根目录的目录(或虚拟目录),右键单击它并选择“转换为应用程序”


    还要确保应用程序的root
    web.config
    bin
    目录位于
    /sandbox/
    目录中,而不是网站本身的根目录。

    好吧……我想我找到了一个解决方案。可能只是有点小问题,但它可以满足我的需要,希望其他人会觉得这很有用。 在尝试了其他一些选项之后,我需要的一个方法是保持结构不变,但使用子域进行测试。因此,现在我发布到sandbox.example.com,而不是example.com/sandbox 服务器现在认为“~/”文件夹实际上是我指向子域的地方


    感谢您的努力和反馈。

    当我发布该网站时,它收到一条“解析器错误消息:文件“/Master/masterPage.Master”不存在。”我已经检查过了,母版页应该在哪里。关于IIS管理器…我没有访问权限。另外,我不想“将其转换为应用程序”,这不是问题所在。web.config位于/sandbox/文件夹中。网站没有/bin(web应用程序将有一个)…@JoeEg“转换为应用程序”与“ASP.NET Web应用程序”项目无关。“IIS应用程序”是IIS如何隔离网站的不同区域,并在ASP.NET中设置
    ~
    系统。我不想弄乱根目录本身,也不想影响现有网站,也不想通过托管公司访问IIS管理器。我希望能在VS.@JoeEg中对此进行设置。大多数基于IIS的web主机都允许访问IIS ManaGER通过使用Web管理服务。或者,你可以要求他们为你创建应用程序条目。如果不是,你需要修改你的ASP.NET网站,假设它是从<代码>沙箱< /代码>子目录中运行的,但是你不能在其他地方运行它。你可能想考虑重写这个。这是当前的形式,看起来就像一堵长长的文字墙。