Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使msbuild/VS创建包含为生成上的链接的文件的物理副本?_C#_Visual Studio_Msbuild - Fatal编程技术网

C# 如何使msbuild/VS创建包含为生成上的链接的文件的物理副本?

C# 如何使msbuild/VS创建包含为生成上的链接的文件的物理副本?,c#,visual-studio,msbuild,C#,Visual Studio,Msbuild,在我的c#VS2012解决方案中,我有3个项目:A、B和c。项目B和c包括来自A的文件(*.js和其他文件),使用以下include <Content Include="..\A\**\*.js"> <Link>%(RecursiveDir)%(Filename)%(Extension)</Link> </Content> %(RecursiveDir)%(文件名)%(扩展名) 我可以在解决方案资源管理器中的B和C项目中以链接的形式查看A

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

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

%(RecursiveDir)%(文件名)%(扩展名)
我可以在解决方案资源管理器中的B和C项目中以链接的形式查看A中的所有引用文件

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

最后一个问题:


如何使msbuild/VS创建包含在生成中作为链接的文件的物理副本?

回答我自己的问题

我按照@Ran的建议去做了(我本来应该这么做的),为了找出区别,我从两个项目中一点一点地删除了一些东西。事实证明,以下几行使第二个项目成为了构建时作为链接包含的文件

<PropertyGroup>
 <OutputPath Condition="'$(TeamBuildOutDir)'=='' ">
   bin\$(Platform)\$(Configuration)
 </OutputPath>
 <OutputPath Condition="'$(TeamBuildOutDir)'!='' ">
   bin\$(Platform)\$(Configuration)
 </OutputPath>
</PropertyGroup>

bin\$(平台)\$(配置)
bin\$(平台)\$(配置)

如果您说project B的行为符合您的要求,而project C则不符合您的要求,那么最好尽量减少.csproj文件(只要问题仍然存在,就可以删除任何文件),然后在问题中发布这两个.csproj文件,以便有人能够找出差异的原因。