aspnet_compiler忽略目标目录并将dll保留在Temporary ASP.NET Files目录中

时间:2015-05-21 14:28:23

标签: asp.net aspnet-compiler

我在预编译ASP.NET MVC应用程序时遇到问题。这是我项目的csproj文件中的<AspNetCompiler>任务:

<AspNetCompiler Clean="true"
                FixedNames="true"
                Updateable="false"
                VirtualPath="/"
                PhysicalPath="$(ProjectDir)"
                TargetPath="$(ProjectDir)..\PreCompiledOutput" />

除之外的所有预编译dll最终都在目标路径中。预编译的dll本身是在Temporary ASP.NET Files目录中创建的。

这是一个问题,因为此项目构建中的下一个MSBuild任务是在预编译的dll上运行aspnet_merge。由于他们不在目标路径中,aspnet_merge会抱怨它&#34;找不到任何可以在应用程序bin文件夹中合并的程序集&#34;。

FWIW我尝试创建一个新的ASP.NET MVC应用程序并在该项目中使用上面的<AspNetCompiler>任务,我得到了相同的行为,即除了预编译的dll之外的所有内容都在目标路径中结束。因此,它似乎不是导致问题的任何项目特定的。但是,如果我删除<AspNetCompiler>任务,而是设置配置为预编译应用程序的发布配置文件,则预编译的dll 执行最终会在目标路径中结束。

以前有人见过这样的事吗? <AspNetCompiler>任务中是否缺少某些内容?

1 个答案:

答案 0 :(得分:2)

嗯,事实证明这是由McAfee anti-virus

引起的

我禁用了按访问病毒扫描,运行aspnet_compiler,一切正常。