0

在我的 c# VS2012 解决方案中,我有 3 个项目:A、B 和 C。项目 B 和 C 使用以下包含来自 A 的文件(*.js 和其他)

<Content Include="..\A\**\*.js">
  <Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
</Content>

我可以在解决方案资源管理器的 B 和 C 项目中看到所有来自 A 的引用文件作为链接。

在构建 A、B 和 CI 之后,可以在项目 B 的文件系统中看到文件,但在项目 C 中看不到。我比较了 B 和 C 的项目文件,但我看不到任何可以控制这种行为的东西。一般来说,我找不到太多关于控制文件行为的信息,这些文件作为链接包含在 csproj 文件中。

底部问题:

如何让 msbuild/VS 创建作为构建链接包含的文件的物理副本?

4

1 回答 1

0

回答我自己的问题。

我按照@Ran 的建议做了(我一开始就应该这样做),然后我从两个项目中一点一点地删除了一些东西,以便找到不同之处。事实证明,以下几行使第二个项目物化文件作为构建时的链接包含在内。

<PropertyGroup>
 <OutputPath Condition="'$(TeamBuildOutDir)'=='' ">
   bin\$(Platform)\$(Configuration)
 </OutputPath>
 <OutputPath Condition="'$(TeamBuildOutDir)'!='' ">
   bin\$(Platform)\$(Configuration)
 </OutputPath>
</PropertyGroup>
于 2013-01-24T01:04:23.513 回答