Я просто создаю решение, которое содержит 3 проекта.
Заказ по сборке
Приложение Silverlight , входящее в / ClientBin проекта веб-приложения ASP.NET
Приложение Windows Form , которое используется для оптимизации всего xap в / ClientBin, когда Visual Studio проходит сборку (событие после сборки).
Веб-приложение ASP.NET , отображающее приложение Silverlight в / ClientBin
При успешной сборке веб-приложения ASP.NET каталог ClientBin в проекте веб-приложения содержит 3 Xap-файла. После этого VS.net
запускает событие команды после сборки, которое выполняет приложение Windows Form. Форма Windows оптимизирует все Xap и удаленные файлы 2 Xap из 3 файлов Xap.
Наконец, Vs.net снова скопирует 3 Xap-файла из проекта приложения Silverlight в каталог ClientBin. Зачем? Я не могу найти какой-либо журнал о копировании Xap-файлов после события после сборки (используя многословность вывода сборки проекта MSBuild: Diagnostic)
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 Forms. После сборки веб-приложения. Затем я использую событие пост-сборки приложения Windows Dorm для выполнения его EXE-файла. Все отлично работает Но мне не нравится это решение, потому что оно очень странное для меня.