VSIX -包括packagerreference输出组



目前我们以以下方式引用另一个项目,以便将其完全包含在VSIX包中。

<ProjectReference Include="....csproj">
<Project>{8da36305-5468-465a-bf37-d87936b776d2}</Project>
<Name>ProjectName</Name>
<VSIXSubPath>SubDirectory</VSIXSubPath>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3bDocumentationProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>

在我们将"旧的"Nuget引用转换为新的packagerreference格式之前,这个工作非常完美。我们看到的是,包引用的输出文件不再包含在VSIX包中。是否有一个额外的输出组我们可以包括来解决这个问题?

可以通过添加"ReferenceCopyLocalPathsOutputGroup"IncludeOutputGroupsInVSIX。在这里找到的:https://github.com/dotnet/msbuild/issues/3069

<ProjectReference Include="....csproj">
<Project>{8da36305-5468-465a-bf37-d87936b776d2}</Project>
<Name>ProjectName</Name>
<VSIXSubPath>SubDirectory</VSIXSubPath>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3bBuiltProjectOutputGroupDependencies%3bGetCopyToOutputDirectoryItems%3bSatelliteDllsProjectOutputGroup%3bDocumentationProjectOutputGroup%3bReferenceCopyLocalPathsOutputGroup%3b</IncludeOutputGroupsInVSIX>
<IncludeOutputGroupsInVSIXLocalOnly>DebugSymbolsProjectOutputGroup%3b</IncludeOutputGroupsInVSIXLocalOnly>
</ProjectReference>