aspnet_compiler 忽略目标目录并将 dll 留在 Temporary ASP.NET Files 目录中
Posted
技术标签:
【中文标题】aspnet_compiler 忽略目标目录并将 dll 留在 Temporary ASP.NET Files 目录中【英文标题】:aspnet_compiler ignores target directory and leaves dlls in the Temporary ASP.NET Files directory 【发布时间】:2015-05-21 14:28:22 【问题描述】:我在预编译 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 抱怨它“找不到任何可以合并到应用程序 bin 文件夹中的程序集”。
FWIW 我尝试创建一个新的 ASP.NET MVC 应用程序并在该项目中使用上述 <AspNetCompiler>
任务,我得到了相同的行为,即除了预编译的 dll 之外的所有内容最终都在目标路径中。因此,它似乎不是导致问题的任何特定项目。但是,如果我删除 <AspNetCompiler>
任务并设置一个配置为预编译应用程序的发布配置文件,则预编译的 dll 确实 最终会出现在目标路径中。
以前有人见过这样的事情吗? <AspNetCompiler>
任务中是否缺少我的东西?
【问题讨论】:
【参考方案1】:嗯,原来这是由McAfee anti-virus引起的
我禁用了按访问病毒扫描,运行aspnet_compiler
,一切正常。
【讨论】:
我也被 McAfee 发现了 就我而言;这是由卡巴斯基引起的。以上是关于aspnet_compiler 忽略目标目录并将 dll 留在 Temporary ASP.NET Files 目录中的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有 web.config 的情况下为 aspnet_compiler.exe 指定 CompilerVersion?
为啥 aspnet_compiler 需要虚拟路径 (-v) 参数?
为啥 aspnet_compiler 以可更新标志成功,但否则失败?