我正在使用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),那么我将文件>从根目录打开Web站点。当我然后“在浏览器中查看”时,它使用以下URL。
http://localhost:58218/dist/Default.aspx
...而且我对images / css / js的链接都不再起作用,因为所有的链接都是相对的。
我想要做的是能够在VS2013中打开整个文件夹,包括根文件夹和src文件夹等,这样我就可以编辑源代码,然后一旦构建/哼了一声我想让IIS运行/ dist网站,好像它是根。
如果我将/ dist文件作为文件夹打开并从那里运行那么一切正常,但显然我无法访问父文件夹和src文件夹以在网站上工作。
我希望我解释得那么好。
答案 0 :(得分:1)
我强烈建议您查看Seb this answer中提到的网址重写解决方案。我有与你相同的设置,效果很好。
我不会使用asp.net为您做的“自动化”工作,因为这项工作是在生产中完成的。这种工作非常适合在构建时完成。您在生产中所做的工作量减少意味着生产中断的可能性较小并导致停机。
答案 1 :(得分:-1)
您可能需要两个网站 - 一个用于VS Express所知道的开发工作(可能是默认的IIS Express网站),第二个用于指向您在项目外部设置的webroot。
此外,如果这是一个.NET站点,请注意ASP.NET 4会自动化grunt在组合和缩小javascripts和CSS方面所做的很多工作,因此您可以跳过该步骤。