MSBuild:包含中的向后相对路径

MSBuild:包含中的向后相对路径,msbuild,Msbuild,请原谅我,如果这太简单了-我几乎是MS Build的新手。我有一个项目正在创建两个不同的Silverlight解决方案,文件层次结构如下所示: + Project123 + Assets + Images + Fonts + Video + Source + SL3 - Project123-SL3.sln + Solution - App.xaml + Pages + SL4 -

请原谅我,如果这太简单了-我几乎是MS Build的新手。我有一个项目正在创建两个不同的Silverlight解决方案,文件层次结构如下所示:

+ Project123 + Assets + Images + Fonts + Video + Source + SL3 - Project123-SL3.sln + Solution - App.xaml + Pages + SL4 - Project123-SL4.sln + Solution - App.xaml + Pages +项目123 +资产 +图像 +字体 +录像带 +来源 +SL3 -Project123-SL3.sln +解决方案 -App.xaml +页数 +SL4 -Project123-SL4.sln +解决方案 -App.xaml +页数
我希望MSBuild能够到达它的父级(即
SL3
SL4
)父级(即
Source
)之上,然后进入
Assets
的姐妹文件夹以包含此文件夹。我一直在考虑使用通配符指定输入,但这并没有真正说明如何在相对树上遍历,然后再向下遍历。使用MSBuild是否可以这样做?

您可以在silverlight项目文件中使用类似的内容

<Content Include="..\..\Assets\**\*"/>


Hm。。。为什么不让您的解决方案包括资产,即使它在上面?项目可以在解决方案之间共享,所以为什么不滥用:)?@Hamish Grubijan:我只有一套资产。有了视频,这个文件夹可能会变得相当大。在每个解决方案下复制都会浪费空间和金钱(这是在云服务器上,我为存储付费,就像Azure一样)。虚拟文件夹应该可以减少复制的需要。现在,
MsBuild
应该适用于任何基于MsBuild的Visual Studio解决方案。使用最新和最好的(VS2010,.NET4.0)通常是一个好主意。现在,MsBuild不是唯一可以在命令行上构建解决方案的工具;事实上,msBuild和devenv.exe也可以产生不同的结果,但在命令行上使用devenv.exe时,编译结果应与从GUI中操作时相同。在VS2010中查找虚拟文件夹,或其他任何名称。@Hamish Grubijan:我会查找虚拟文件夹,谢谢。我没有一个VS的副本在服务器上,将建立这些,所以devenv.exe将无法工作。