在我的c#VS2012解决方案中,我有3个项目:A,B和C.项目B和C包含来自A的文件(* .js和其他),使用以下内容
<Content Include="..\A\**\*.js">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>
我可以在解决方案资源管理器中看到A中所有引用的文件作为B和C项目中的链接。
在构建A,B和C之后,我可以在项目B的文件系统中看到文件,但在项目C中没有。我比较了B和C的项目文件,但我看不到任何可以控制此行为的内容。一般来说,我找不到很多关于什么管理csproj文件中包含的文件行为的信息。
底层问题:
如何让msbuild / VS创建包含在构建中的链接的文件的物理副本?
答案 0 :(得分:0)
回答我自己的问题。
我做了@Ran建议的(我本来应该做的)并且我从两个项目中一点一点地删除了一些东西以找到差异。事实证明,以下几行使第二个项目在构建时实现文件作为链接。
<PropertyGroup>
<OutputPath Condition="'$(TeamBuildOutDir)'=='' ">
bin\$(Platform)\$(Configuration)
</OutputPath>
<OutputPath Condition="'$(TeamBuildOutDir)'!='' ">
bin\$(Platform)\$(Configuration)
</OutputPath>
</PropertyGroup>