我有一个silverlight项目安排如下:
{多个子目录}下的代码包含在 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 中的构建后事件执行它,则什么也不会发生(没有失败,只是什么都没有)。
我假设构建后事件被触发beforexap 文件已创建。
有谁知道如何使用参数运行 MSbuild 任务或命令行构建后事件afterxap文件是否复制到ClientBin?
您可以通过将文件添加到来解决此问题XapFilesInputCollection
in an AfterCompile
Silverlight 项目的目标。但请注意,在 Visual Studio 中编译时,直接在项目中包含 bin 文件夹可能会导致访问被拒绝错误。
<Target Name="AfterCompile">
<ItemGroup>
<XapFilesInputCollection Include="$(SolutionDir)Examples\Silverlight\Bin\$(Configuration)\ExampleCode"/>
</ItemGroup>
</Target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)