【问题标题】:Visual studio - Use sub folder as root when viewing in browser (iis)Visual Studio - 在浏览器(iis)中查看时使用子文件夹作为根
【发布时间】:2014-02-05 18:06:55
【问题描述】:

我正在使用 Visual Studio Express 2013 for Web,并且我有这样的文件夹结构。

domainname.com/src
domainname.com/src/templates
domainname.com/src/templates/default.aspx

domainname.com/dist
domainname.com/dist/default.aspx

在我的 src 目录下还有其他文件夹(images/sass 等),我在构建时使用 grunt 将它们全部复制/缩小到 dist 文件夹。这个想法是,当我的同事开始做 .net 的东西时,他们也会在构建期间将所有的东西复制到 /dist。所以编译的东西最终会在 /dist/bin 中

我这样做是为了让我的所有原始未压缩源文件和资产与我的文件完全分开以进行分发。这似乎是一件明智的事情。

问题是,如果我使用 Visual Studio(而不是 Sublime),那么我的文件 > 从根目录打开网站。然后当我“在浏览器中查看”时,它使用以下 URL。

http://localhost:58218/dist/Default.aspx

...我的 images/css/js 链接不再有效,因为所有链接都是相对的。

我想要做的是能够在 VS2013 中打开整个文件夹,包括根文件夹和 src 文件夹等,这样我就可以编辑源代码,然后一旦它被构建/运行,我想让 IIS 运行 /dist网站就好像它是根一样。

如果我将 /dist 文件作为文件夹打开并从那里运行,则一切正常,但显然我无权访问父文件夹和 src 文件夹以在该站点上工作。

我希望我解释得足够好。

【问题讨论】:

    标签: asp.net visual-studio iis


    【解决方案1】:

    我强烈建议您查看Sebthis answer 中提出的url 重写解决方案。我的设置和你一样,效果很好。

    我不会使用 asp.net 为您提供的“自动化”功能,因为这些工作是在生产环境中完成的。这种工作非常适合在构建时完成。您在生产中所做的工作越少,意味着生产中断和导致中断的情况就越少。

    【讨论】:

    • 太棒了!!这就是我要找的东西
    【解决方案2】:

    您可能需要两个网站 - 一个用于 VS express 知道的开发工作(可能是默认的 IIS Express 站点),第二个指向您在项目之外设置的 webroot。

    此外,如果这是一个 .NET 站点,请注意 ASP.NET 4 会自动执行 grunt 在组合和缩小 javascript 和 CSS 方面所做的许多工作,因此您可以跳过该步骤。

    【讨论】:

    • A -1 这也是公认的答案。这有点奇怪。但是不,ASP.NET 不会自动缩小 Javascript 和 CSS。当然,您可以使用捆绑程序,但这是在运行时在服务器端运行的特定代码,而不是自动步骤。如果你想在编译/构建过程中实现自动化,你仍然需要诸如 grunt、gulp 等构建工具。
    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多