我在命令行中使用Admin
-x
路径的示例
C:\Users\Test>C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /Application.Web -p D:\Application.Web -x /Application.Web/Admin
这个结果很好。但是当我翻译成csproj
脚本时。
来自lib https://msdn.microsoft.com/en-us/library/ms164291.aspx
它不是从预编译中排除路径的参数。
目前在csproj文件上执行命令
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="Application.Web" PhysicalPath="$(WebProjectOutputDir)" />
</Target>
<Target Name="AfterBuild">
<RemoveDir Directories="$(BaseIntermediateOutputPath)" />
</Target>
答案 0 :(得分:1)
您必须根据此博文https://matthewrwilton.wordpress.com/2017/03/12/excluding-node_modules-folder-from-asp-net-compilation/直接致电aspnet_compiler.exe
因为AspNetCompiler
msbuild任务没有排除属性。
好的是,您可以使用多个排除项来调用它,例如:
<PropertyGroup>
<exclusion1>some/path</exclusion1>
<exclusion2>another/path</exclusion2>
</PropertyGroup>
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<Exec Command="$(MSBuildFrameworkToolsPath)aspnet_compiler.exe -v temp -p $(WebProjectOutputDir) -x $(exclusion1) -x $(exclusion2)"/>
</Target>
请记住每次排除时使用-x参数。