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 应用程序并在该项目中使用上述 &lt;AspNetCompiler&gt; 任务,我得到了相同的行为,即除了预编译的 dll 之外的所有内容最终都在目标路径中。因此,它似乎不是导致问题的任何特定项目。但是,如果我删除 &lt;AspNetCompiler&gt; 任务并设置一个配置为预编译应用程序的发布配置文件,则预编译的 dll 确实 最终会出现在目标路径中。


以前有人见过这样的事情吗? &lt;AspNetCompiler&gt; 任务中是否缺少我的东西?

【问题讨论】:

【参考方案1】:

嗯,原来这是由McAfee anti-virus引起的

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

【讨论】:

我也被 McAfee 发现了 就我而言;这是由卡巴斯基引起的。

以上是关于aspnet_compiler 忽略目标目录并将 dll 留在 Temporary ASP.NET Files 目录中的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 web.config 的情况下为 aspnet_compiler.exe 指定 CompilerVersion?

devenv VS aspnet_compiler

为啥 aspnet_compiler 需要虚拟路径 (-v) 参数?

为啥 aspnet_compiler 以可更新标志成功,但否则失败?

IOS 7.1,如果目标设备系列设置为 iPad,通用情节提要上的常规宽度限制将被忽略

Git 忽略和 Maven 目标