【发布时间】:2010-10-21 23:47:48
【问题描述】:
我只是创建了一个包含 3 个项目的解决方案。
按构建顺序排序
Silverlight 应用程序,包含在 ASP.NET Web 应用程序项目的 /ClientBin 中
Windows 窗体应用程序,用于在 Visual Studio 传递构建(构建后事件)时优化 /ClientBin 中的所有 xap。
ASP.NET Web 应用程序在 /ClientBin 中显示 Silverlight 应用程序
当我成功构建 ASP.NET Web 应用程序时,Web 应用程序项目中的 ClientBin 目录包含 3 个 Xap 文件。之后VS.net 触发一个执行 Windows 窗体应用程序的构建后命令事件。 Windows 窗体从 3 个 Xap 文件中优化所有 Xap 和远程 2 个 Xap 文件。
最后,Vs.net 再次从 Silverlight 应用程序项目中复制 3 个 Xap 文件到 ClientBin 目录。为什么?我找不到任何关于在构建后事件后复制 Xap 文件的日志(通过使用 MSBuild 项目构建输出详细程度:诊断)
Target "PostBuildEvent" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Task "Exec"
Command:
**T:\myProject\Higgs\Higgs\Higgs.Utils.WinApp\bin\Higgs.Utils.WinApp.exe mode=OptimizeXap clientbindir=T:\myProject\Higgs\Higgs\Higgs.Web.UI\ClientBin\ mainxapfilename=Higgs.Silverlight.UI**
Done executing task "Exec".
Done building target "PostBuildEvent" in project "Higgs.Web.UI.csproj".
Target "CoreBuild" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Task "CallTarget" skipped, due to false condition; ('$(UnloadProjectsOnCompletion)'=='true') was evaluated as ('false'=='true').
Task "CallTarget" skipped, due to false condition; ('$(UnloadProjectsOnCompletion)'=='true') was evaluated as ('false'=='true').
Task "CallTarget" skipped, due to false condition; ('$(UnloadProjectsOnCompletion)'=='true') was evaluated as ('false'=='true').
Done building target "CoreBuild" in project "Higgs.Web.UI.csproj".
Target "AfterBuild" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Done building target "AfterBuild" in project "Higgs.Web.UI.csproj".
Target "Build" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Building target "Build" completely.
No input files were specified.
Done building target "Build" in project "Higgs.Web.UI.csproj".
Target "AfterRebuild" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Done building target "AfterRebuild" in project "Higgs.Web.UI.csproj".
Target "Rebuild" in file "C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets":
Building target "Rebuild" completely.
No input files were specified.
Done building target "Rebuild" in project "Higgs.Web.UI.csproj".
Done building project "Higgs.Web.UI.csproj".
更新
我通过构建 Windows 窗体应用程序更新了构建顺序。构建 Web 应用程序后。接下来,我使用 Windows Dorm 应用程序构建后事件来执行其 EXE。一切正常。但我不喜欢这个解决方案,因为它对我来说很奇怪。
【问题讨论】:
标签: visual-studio silverlight msbuild build-process