Visual Studio - 将构建事件复制资产发布到Web应用程序项目

时间:2014-01-22 10:59:33

标签: visual-studio visual-studio-2012 post-build-event

我有一个ASP.NET MVC Web应用程序项目,该项目还有2个额外的库项目作为解决方案的一部分。在另外2个项目中,我有一个资产目录。我想知道在构建成功时是否可以将assets目录的内容复制到Web应用程序。例如,假设我的应用程序具有以下结构:

MyLibraryProject1
    Assets
        Images
            Image1.png
MyLibraryProject2 (this has a dependency on "MyLibraryProject1")
    Assets
        Images
            Image1.png
MyMvcProject
    Controllers
    Views
MyProject.sln

成功构建后,“MyMvcProject”项目将包含以下文件夹:

Assets
    MyLibraryProject1
        Images
            Image1.png
    MyLibraryProject2
        Images
            Image1.png

我最初在项目中嵌入了资源。但是我发现这减慢了应用程序编译的时间,因为我添加了更多资源。如果有人有解决方案,我愿意接受另一种解决方案。

我很感激帮助/建议。感谢

1 个答案:

答案 0 :(得分:2)

你必须去项目属性:

enter image description here

然后您可以在Post-build事件或Pre-build事件

中输入命令

复制文件你可以使用xcopy命令,这里有一个例子(命令应该没有问题,我试过了):

mkdir "$(TargetDir)\assets\MyLibraryProject1" >nul
mkdir "$(TargetDir)\assets\MyLibraryProject2" >nul
xcopy  /d /e /y "$(SolutionDir)MyLibraryProject1\assets\*" "$(TargetDir)\assets\MyLibraryProject1" >nul
if errorlevel 1 exit 1

xcopy  /d /e /y "$(SolutionDir)MyLibraryProject2\assets\*" "$(TargetDir)\assets\MyLibraryProject2" >nul
if errorlevel 1 exit 1

希望这会对你有所帮助。