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
Visual studio 在VisualStudio中链接其他文件_Visual Studio_Csproj - Fatal编程技术网

Visual studio 在VisualStudio中链接其他文件

Visual studio 在VisualStudio中链接其他文件,visual-studio,csproj,Visual Studio,Csproj,我正试图将stylecop.json纳入我在Visual Studio 2017上的C#项目中。通过在任何文本编辑器中修改.csproj,我已经了解了如何做到这一点: <AdditionalFiles Include="stylecop.json"> <Link>stylecop.json</Link> </AdditionalFiles> stylecop.json 我想知道是否有一种方法可以做到这一点,而无需进行任何文本编辑。

我正试图将stylecop.json纳入我在Visual Studio 2017上的C#项目中。通过在任何文本编辑器中修改.csproj,我已经了解了如何做到这一点:

<AdditionalFiles Include="stylecop.json">
      <Link>stylecop.json</Link>
</AdditionalFiles>

stylecop.json

我想知道是否有一种方法可以做到这一点,而无需进行任何文本编辑。我知道我可以像添加任何其他文件一样添加它,但这会在项目文件夹中创建文件的副本,而不会在外部链接它。

您可以在解决方案目录中的某个位置添加一个
目录.Build.targets
文件(将应用于该目录下的所有项目),其内容如下:

<Project>
  <ItemGroup>
    <AdditionalFiles Update="@(AdditionalFiles)">
      <Link Condition="'%(Link)' == ''">%(Identity)</Link>
   </AdditionalFiles>
  </ItemGroup>
</Project>
这甚至会保留与匹配的项目的目录层次结构,例如
。\shared\***.json
,并且可以使用
LinkBase
元数据设置目标文件夹:

<AdditionalFiles Include="..\shared\**\*">
  <LinkBase>SharedFiles</LinkBase>
</AdditionalFiles>

共享文件

请注意,更改
目录.Build.targets
后,可能需要关闭并重新打开解决方案。在即将到来的VS 2017 15.3更新中,VS将自动监控变更。在以前的版本中,VS将缓存该文件,直到解决方案关闭。

您可以在解决方案目录中的某个位置添加一个
目录.Build.targets
文件(将应用于该目录下或该目录下的所有项目),该文件包含以下内容:

<Project>
  <ItemGroup>
    <AdditionalFiles Update="@(AdditionalFiles)">
      <Link Condition="'%(Link)' == ''">%(Identity)</Link>
   </AdditionalFiles>
  </ItemGroup>
</Project>
这甚至会保留与匹配的项目的目录层次结构,例如
。\shared\***.json
,并且可以使用
LinkBase
元数据设置目标文件夹:

<AdditionalFiles Include="..\shared\**\*">
  <LinkBase>SharedFiles</LinkBase>
</AdditionalFiles>

共享文件
请注意,更改
目录.Build.targets
后,可能需要关闭并重新打开解决方案。在即将到来的VS 2017 15.3更新中,VS将自动监控变更。在以前的版本中,VS将缓存该文件,直到解决方案关闭