我正在使用msbuild自动构建和打包准备部署的网站。当我编译然后通过Visual Studio 2008发布我的项目时,一切正常。
然而,当我使用msbuild时,我遇到错误,因为AspNetCompiler正在尝试编译未包含在我的.csproj中但仍存在于版本控制中的aspx和ascx文件。
我知道我可以从版本控制中删除它们,但有人能告诉我为什么要编译这些文件吗?
这是我的msbuild任务。
<AspNetCompiler
TargetPath="$(PackageDir)\Web"
VirtualPath="/"
PhysicalPath="$(buildDirectory)\Web"
Force="true"
/>
谢谢!
答案 0 :(得分:5)
包含_aspnet_compiler.exe_的 AspNetCompiler 任务编译应用程序中的所有“可编译”文件,而不是仅编译 .csproj 中的那些文件。
赠品是,可执行文件的命令行参数都不是 .csproj 作为输入,只有路径。 (我想有人可能会说它会在目录中寻找 .csproj ,但这不太可能,因为它会引入自己的一系列问题,比如如果有人放了两个项目该怎么办文件在一个目录中。)