AspNetCompiler包括不在我的项目中的文件

时间:2011-03-17 05:37:57

标签: asp.net msbuild aspnet-compiler

我正在使用msbuild自动构建和打包准备部署的网站。当我编译然后通过Visual Studio 2008发布我的项目时,一切正常。

然而,当我使用msbuild时,我遇到错误,因为AspNetCompiler正在尝试编译未包含在我的.csproj中但仍存在于版本控制中的aspx和ascx文件。

我知道我可以从版本控制中删除它们,但有人能告诉我为什么要编译这些文件吗?

这是我的msbuild任务。

    <AspNetCompiler                
     TargetPath="$(PackageDir)\Web"
     VirtualPath="/"
     PhysicalPath="$(buildDirectory)\Web"
     Force="true"
     />

谢谢!

1 个答案:

答案 0 :(得分:5)

包含_aspnet_compiler.exe_的 AspNetCompiler 任务编译应用程序中的所有“可编译”文件,而不是仅编译 .csproj 中的那些文件。

赠品是,可执行文件的命令行参数都不是 .csproj 作为输入,只有路径。 (我想有人可能会说它会在目录中寻找 .csproj ,但这不太可能,因为它会引入自己的一系列问题,比如如果有人放了两个项目该怎么办文件在一个目录中。)