Задача Silverlight MSBuild - выполнить командную строку после копирования Xap в ClientBin

У меня есть проект Silverlight, организованный следующим образом:

Examples Silverlight Bin
Debug ExampleCode {Multiple Sub directories} Silverlight.Web Bin Debug ClientBin Silverlight.Web.xap

Код в {Multiple Sub Directories} включен в DLL-библиотеку silverlight и скомпилирован, однако я также хочу включить эти файлы как & quot; Content & quot; в файле xap. Подумайте о демонстрационных приложениях для элементов управления .NET, которые показывают вам демонстрацию, а также код на C # / xaml для достижения этой цели. Это то, что я пытаюсь сделать.

I cannot select include as content as they are already included as compile I cannot include the files twice and compile one and content the other as VS2010 won't let you.

Я хотел бы включить все файлы / папки в папке examples / Silverlight / ExampleCode в выходной файл xap. Чтобы добиться этого, я попытался создать событие после сборки в проекте Silverlight.Web. Синтаксис ниже:

<code>"$(SolutionDir)..\Lib\7Zip\7z.exe" a  -tzip 
    "$(ProjectDir)ClientBin\Silverlight.Web.xap" 
    "$(SolutionDir)Examples\Silverlight\Bin\Debug\ExampleCode"
</code>

Теперь, если я выполню это в окне консоли, он будет работать отлично. Файл xap обновлен. Однако если я выполню его из события после сборки в Silverlight.Web, то ничего не произойдет (без сбоев, просто ничего).

Я предполагаю, что событие после сборки запускаетсяbefore файл xap создан.

Кто-нибудь знает, как я могу запустить задачу MSbuild или событие после сборки командной строки с аргументамиafter XAP-файл копируется в ClientBin?

Ответы на вопрос(1)

XapFilesInputCollection вAfterCompile цель вашего проекта Silverlight. Однако обратите внимание, что включение папки bin непосредственно в проект может привести к ошибке отказа в доступе при компиляции в Visual Studio.

<Target Name="AfterCompile">
  <ItemGroup>
    <XapFilesInputCollection Include="$(SolutionDir)Examples\Silverlight\Bin\$(Configuration)\ExampleCode"/>
  </ItemGroup>
</Target>
 03 апр. 2013 г., 00:49
Это не работает
 Dr. ABT10 апр. 2012 г., 08:23
Спасибо, позвольте мне попробовать это

Ваш ответ на вопрос