【问题标题】:Changing the root path of .Net Web Application with Custom Project URL使用自定义项目 URL 更改 .Net Web 应用程序的根路径
【发布时间】:2014-11-20 16:31:13
【问题描述】:
我正在构建一个 SPA,它使用像 Gulp 这样的客户端任务运行器。执行任务后,我会将压缩、缩小和 gzip 压缩的文件复制到 dist 文件夹。下面是项目结构。
我还有自定义项目 URL
我想将 dist 目录设置为我的应用程序的根目录,这意味着我应该能够直接转到 http://localhost/GulpFromVSTest/dist/index.html 而不是转到 http://localhost/GulpFromVSTest/ 并且它应该正确地将我路由到index.html 页面。
当我将新资产复制到 dist 时,VS 不会自动将它们添加到项目中,这可能会在我发布到服务器时产生问题。有什么我可以遵循的方法吗?
我一直在研究一段时间,看看是否有任何好的解决方案,但无法解决。
【问题讨论】:
标签:
asp.net
iis
asp.net-web-api
web-deployment
gulp
【解决方案1】:
我解决了您直接使用Katana middleware 提供静态文件的第一个问题,它允许将根文件夹重新映射到另一个文件夹(但您必须禁用静态资源的本机 IIS 处理程序,这比托管的更快)。
对于您的第二个问题,一个可能但“hacky”的解决方案是从您的项目中排除对 dist 文件夹的每个引用,然后卸载项目并手动编辑它添加这个新项目引用:
<ItemGroup>
<Content Include="dist\**\*" />
</ItemGroup>
这样,每次重新加载项目时,Visual Studio 都会更新解决方案资源管理器,包括所有 dist 文件夹文件,这并不理想,但可能可以通过一些 ide 扩展来解决,但这些文件将包含在 Azure 部署中,即我的目标。请记住不要包含 Visual Studio 中的任何“dist”文件,否则您会在项目重新加载后在解决方案资源管理器中看到它们重复。