ASP.NET安装项目 - 如何包含不在VS中的静态文件?

时间:2009-03-02 16:07:14

标签: asp.net svn file installation

我正在开发一个ASP.NET MVC Web应用程序,正在处理Web Setup部分。我们正在使用SVN进行版本控制。其中一个问题是我们目前所拥有的是网页设计师修改并添加了大量最终存在于内容文件夹中的html,css和js文件,但是他们没有将它们添加到VS项目中,所以新文件未包含在安装程序中。

一个选择是我们必须尝试教他们总是进入VS并手动添加文件,但是我们正处于一个大型项目中并且它正在逐渐达到关键时刻,因此试图让人们学习新东西在他们不知道的技术中会导致太多的错误,所以如果可能的话,我想解决这个问题。

有没有办法让安装项目只包含文件系统中文件夹中的文件,而不是项目指定的内容文件?

谢谢!

3 个答案:

答案 0 :(得分:3)

我想我已经明白了:

确保安装程序项目包含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" />

答案 1 :(得分:1)

右键单击Web Setup项目的File System视图中的文件夹,然后选择Add,File ...

看起来您不能以这种方式添加整个文件夹,因此您必须将每个文件单独添加到安装程序中。

编辑:

您的项目文件夹中的所有文件都不包含在Visual Studio中的WebSite项目中吗?然后,只需将WebSite项目和Web Setup项目放在同一解决方案中,然后右键单击Web Setup项目中的Web Application Folder,选择Add,Project Output ...然后选择WebSite Project中的WebSite项目。从列表框中下拉内容文件,然后单击“确定”。

答案 2 :(得分:0)

不幸的是,我认为没有开箱即用的方法,因为项目会单独维护对文件的引用。

您可以通过自定义宏实现所需,或者让其他团队编辑.csproj XML文件(可能更简单或风险更高,具体取决于他们的背景)。