缺少Visual Studio 2015共享项目的“添加现有项目”中的“添加为链接”

时间:2016-04-24 07:10:56

标签: visual-studio csproj

上下文

经典项目类型在“添加现有项”对话框中有一个“添加为链接”选项。这允许通过将文件添加到项目而不将文件物理复制到项目目录来跨多个项目共享一个文件。共享项目的“添加现有项”对话框中缺少此按钮。见下面的展览。

注意 这不是带有“project.json”的新ASP 5项目。没有“project.json”,项目文件是XML,虽然名为 * .projitems,他们的XML模式非常类似于 .csproj

问题:

在我的解决方案中,有多个共享项目。我想将一个公共解决方案级别文件(例如SolutionAssemblyInfo.cs)链接到每个文件中。我怎样才能完成这项任务?

图表:

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为目前解决此问题的唯一方法是手动编辑.projitems文件。

对于每个共享项目,请手动编辑相关的.projitem。查找所有ItemGroup元素所在的Compile元素,并添加以下内容:

<Compile Include="$(MSBuildThisFileDirectory)PathToYourSolutionAssemblyRelativeToThisFileDirectory\SolutionAssemblyInfo.cs" >
  <Link>YourDesiredFolderPathInSolutionExplorer\SolutionAssemblyInfo.cs</Link>
</Compile>
顾名思义,

$(MSBuildThisFileDirectory)是当前.projitems文件的路径。因此,如果您的共享项目位于不同的文件系统文件夹上,则每个.projitems文件的解析路径都不同。因此,您必须使用PathToYourSolutionAssemblyRelativeToThisFileDirectory文件的SolutionAssemblyInfo.cs的正确相对路径替换.projitems