【问题标题】:ASP.NET Setup Project - how to include static files not in VS?ASP.NET 安装项目 - 如何包含不在 VS 中的静态文件?
【发布时间】:2009-03-02 16:07:13
【问题描述】:
我正在开发一个 ASP.NET MVC Web 应用程序,并且正在开发 Web 设置部分。我们使用 SVN 进行版本控制。其中一个问题是我们目前遇到的问题是网页设计人员修改并添加了许多最终位于 Content 文件夹中的 html、css 和 js 文件,但他们没有将它们添加到 VS 项目中,所以新文件不会包含在安装程序中。
一种选择是,我们必须尝试教他们始终进入 VS 并手动添加文件,但我们正在进行一个大型项目,并且正处于关键时刻,因此试图让人们学习新东西在他们不知道的技术中会导致太多错误,所以如果可能的话,我想解决这个问题。
有没有办法让安装项目只包含文件系统上文件夹中的文件,而不是项目的指定内容文件?
谢谢!
【问题讨论】:
标签:
asp.net
svn
file
installation
【解决方案1】:
我想我已经明白了:
确保安装程序项目包含 Web 应用程序的内容文件。然后使用文本编辑器进入 Web 应用程序的 csproj 文件并找到列出静态内容文件的 ItemGroup。然后添加一个带有通配符的条目,安装程序会将它们打包进去。
<ItemGroup>
<Content Include="Content\test.html" />
<Content Include="Content\*.html" />
<Content Include="Content\*.gif" />
<Content Include="Content\*.css" />
<Content Include="Content\*.jpg" />
<Content Include="Content\*\*.js" />
【解决方案2】:
右键单击 Web 设置项目的文件系统视图中的文件夹,然后选择添加、文件...
您似乎无法通过这种方式添加整个文件夹,因此您必须将每个文件单独添加到安装程序中。
编辑:
您的项目文件夹中的所有文件不是都包含在 Visual Studio 中的网站项目中吗?然后就是你的WebSite项目和Web Setup项目在同一个解决方案中的情况,然后右键单击Web Setup项目中的Web Application Folder,选择Add,Project Output...,然后选择WebSite Project中的从列表框中下拉和内容文件,然后单击确定。
【解决方案3】:
不幸的是,我认为没有现成的方法可以做到这一点,因为项目单独维护对文件的引用。
您可以通过自定义宏来实现您的需要,或者要求您的其他团队编辑 .csproj XML 文件(可能更简单或更冒险,具体取决于他们的背景)。