【发布时间】: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> 任务中是否缺少我的东西?
【问题讨论】: