我有一个 Silverlight 项目,安排如下:
- 例子
- 银光
- 垃圾桶
- 调试
- 垃圾桶
- 示例代码
- {多个子目录}
- 银光
- Silverlight.Web
- 垃圾桶
- 调试
- 客户端
- Silverlight.Web.xap
- 客户端
- 调试
- 垃圾桶
{Multiple Sub Directories} 下的代码包含在 silverlight DLL 中并已编译,但是我还想将这些文件作为“内容”包含在 xap 文件中。想想 .NET 控件的演示应用程序,它向您展示了一个演示以及实现它的 C#/xaml 代码。这就是我想要做的。
- 我不能选择包含作为内容,因为它们已经包含在编译中
- 我不能将文件包含两次并编译一个并包含另一个,因为 VS2010 不会让你这样做。
我想在输出 xap 文件中包含 Examples/Silverlight/ExampleCode 文件夹下的所有文件/文件夹。为了实现这一点,我尝试了 Silverlight.Web 项目的构建后事件。语法如下:
"$(SolutionDir)..\Lib\7Zip\7z.exe" a -tzip
"$(ProjectDir)ClientBin\Silverlight.Web.xap"
"$(SolutionDir)Examples\Silverlight\Bin\Debug\ExampleCode"
现在,如果我在控制台窗口中执行它,它会完美运行。xap 文件已更新。但是,如果我从 Silverlight.Web 中的构建后事件执行它,则没有任何反应(没有失败,只是没有)。
我假设在创建 xap 文件之前触发了构建后事件。
有谁知道在将 xap 文件复制到 ClientBin后如何使用参数运行 MSbuild 任务或命令行构建后事件?