diff --git a/eng/targets/VisualStudio.targets b/eng/targets/VisualStudio.targets index a08769ccf483e..64e8116ca4adf 100644 --- a/eng/targets/VisualStudio.targets +++ b/eng/targets/VisualStudio.targets @@ -144,6 +144,34 @@ - + + + + + + $(CreateVsixContainerDependsOn);PublishProjectReferencesForVsixCreation + + + + + <_ProjectsToPublish Include="@(ProjectReference)" Condition="$([MSBuild]::ValueOrDefault('%(ProjectReference.IncludeOutputGroupsInVSIX)', '').Contains('PublishedProjectOutputGroup'))"/> + + + + diff --git a/src/Features/CSharpTest/Microsoft.CodeAnalysis.CSharp.Features.UnitTests.csproj b/src/Features/CSharpTest/Microsoft.CodeAnalysis.CSharp.Features.UnitTests.csproj index 73c7105b1f10e..55688e4abeed1 100644 --- a/src/Features/CSharpTest/Microsoft.CodeAnalysis.CSharp.Features.UnitTests.csproj +++ b/src/Features/CSharpTest/Microsoft.CodeAnalysis.CSharp.Features.UnitTests.csproj @@ -31,7 +31,7 @@ - + diff --git a/src/Interactive/HostProcess/x64/InteractiveHost64.csproj b/src/Interactive/HostProcess/x64/InteractiveHost64.csproj index 7bbf60b076672..8e03e7e872f37 100644 --- a/src/Interactive/HostProcess/x64/InteractiveHost64.csproj +++ b/src/Interactive/HostProcess/x64/InteractiveHost64.csproj @@ -26,31 +26,43 @@ + + + + + + <_IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' != ''">$(PublishDepsFilePath) + <_IntermediateDepsFilePath Condition=" '$(PublishDepsFilePath)' == ''">$(IntermediateOutputPath)$(ProjectDepsFileName) + - - <_PublishedFiles Include="$(PublishDir)**\*.*" /> - <_PublishedFiles Remove="@(_PublishedFiles)" Condition="'%(Extension)' == '.pdb'" /> + <_VsixItem Include="@(PublishItemsOutputGroupOutputs->'%(OutputPath)')" /> + <_VsixItem Remove="@(_VsixItem)" Condition="'%(Extension)' == '.pdb'" /> + + + <_VsixItem Include="$(_IntermediateDepsFilePath)" Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'" /> - <_PublishedFiles Include="$(MSBuildProjectDirectory)\Desktop\CSharpInteractive.rsp" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" /> - <_PublishedFiles Include="$(MSBuildProjectDirectory)\Core\CSharpInteractive.rsp" Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'" /> + <_VsixItem Include="$(MSBuildProjectDirectory)\Desktop\CSharpInteractive.rsp" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'" /> + <_VsixItem Include="$(MSBuildProjectDirectory)\Core\CSharpInteractive.rsp" Condition="'$(TargetFrameworkIdentifier)' != '.NETFramework'" /> - <_PublishedFiles Include="$(MSBuildProjectDirectory)\.editorconfig"/> + <_VsixItem Include="$(MSBuildProjectDirectory)\.editorconfig" /> - <_PublishedFiles Update="@(_PublishedFiles)" TargetPath="%(RecursiveDir)%(Filename)%(Extension)" /> + <_VsixItem Update="@(_VsixItem)" TargetPath="%(Filename)%(Extension)" Condition="'%(_VsixItem.TargetPath)' == ''" /> - <_PublishedFiles Update="@(_PublishedFiles)" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and ('%(Extension)' == '.dll' or '%(Extension)' == '.exe')"> + <_VsixItem Update="@(_VsixItem)" Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' and ('%(Extension)' == '.dll' or '%(Extension)' == '.exe')"> true 3 All X64 [installDir]\Common7\IDE\$(CommonExtensionInstallationRoot)\$(LanguageServicesExtensionInstallationFolder)\InteractiveHost\Desktop\InteractiveHost64.exe - + + + \ No newline at end of file diff --git a/src/Interactive/HostProcess/x86/InteractiveHost32.csproj b/src/Interactive/HostProcess/x86/InteractiveHost32.csproj index d32f4393c6225..79efde2fb521f 100644 --- a/src/Interactive/HostProcess/x86/InteractiveHost32.csproj +++ b/src/Interactive/HostProcess/x86/InteractiveHost32.csproj @@ -22,22 +22,25 @@ - + - <_PublishProjectOutputGroup Include="$(TargetPath)"> + <_VsixItem Include="$(TargetPath)"> $(TargetFileName) true 3 X86 [installDir]\Common7\IDE\$(CommonExtensionInstallationRoot)\$(LanguageServicesExtensionInstallationFolder)\InteractiveHost\Desktop\InteractiveHost32.exe - - <_PublishProjectOutputGroup Include="$(TargetPath).config" TargetPath="$(TargetFileName).config"/> + + <_VsixItem Include="$(TargetPath).config" TargetPath="$(TargetFileName).config"/> + + + \ No newline at end of file diff --git a/src/Interactive/HostTest/InteractiveHost.UnitTests.csproj b/src/Interactive/HostTest/InteractiveHost.UnitTests.csproj index 146044986fcd9..e3306cfbb04d7 100644 --- a/src/Interactive/HostTest/InteractiveHost.UnitTests.csproj +++ b/src/Interactive/HostTest/InteractiveHost.UnitTests.csproj @@ -50,8 +50,7 @@ --> - - + diff --git a/src/Tools/SemanticSearch/ReferenceAssemblies/SemanticSearch.ReferenceAssemblies.csproj b/src/Tools/SemanticSearch/ReferenceAssemblies/SemanticSearch.ReferenceAssemblies.csproj index 12f985c4d121b..445516a39de98 100644 --- a/src/Tools/SemanticSearch/ReferenceAssemblies/SemanticSearch.ReferenceAssemblies.csproj +++ b/src/Tools/SemanticSearch/ReferenceAssemblies/SemanticSearch.ReferenceAssemblies.csproj @@ -61,10 +61,8 @@ - + - - <_PublishProjectOutputGroupOutput Include="@(_OutputFile)" /> - - + + diff --git a/src/VisualStudio/Setup.ServiceHub/arm64/Roslyn.VisualStudio.ServiceHub.Setup.arm64.csproj b/src/VisualStudio/Setup.ServiceHub/arm64/Roslyn.VisualStudio.ServiceHub.Setup.arm64.csproj index a175f8c54a2b0..cf34113c6e103 100644 --- a/src/VisualStudio/Setup.ServiceHub/arm64/Roslyn.VisualStudio.ServiceHub.Setup.arm64.csproj +++ b/src/VisualStudio/Setup.ServiceHub/arm64/Roslyn.VisualStudio.ServiceHub.Setup.arm64.csproj @@ -20,7 +20,7 @@ true false - PublishProjectOutputGroup + PublishedProjectOutputGroup false diff --git a/src/VisualStudio/Setup.ServiceHub/x64/Roslyn.VisualStudio.ServiceHub.Setup.x64.csproj b/src/VisualStudio/Setup.ServiceHub/x64/Roslyn.VisualStudio.ServiceHub.Setup.x64.csproj index 91e99dca1c9f0..214f738f1e1de 100644 --- a/src/VisualStudio/Setup.ServiceHub/x64/Roslyn.VisualStudio.ServiceHub.Setup.x64.csproj +++ b/src/VisualStudio/Setup.ServiceHub/x64/Roslyn.VisualStudio.ServiceHub.Setup.x64.csproj @@ -12,7 +12,7 @@ true false - PublishProjectOutputGroup + PublishedProjectOutputGroup false diff --git a/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj b/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj index 0a2d5ff61b3b7..da3eccdcc04b8 100644 --- a/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj +++ b/src/VisualStudio/Setup/Roslyn.VisualStudio.Setup.csproj @@ -278,7 +278,7 @@ false InteractiveHost\Core - PublishProjectOutputGroup + PublishedProjectOutputGroup @@ -293,7 +293,7 @@ false InteractiveHost\Desktop - PublishProjectOutputGroup + PublishedProjectOutputGroup @@ -308,7 +308,7 @@ false InteractiveHost\Desktop - PublishProjectOutputGroup + PublishedProjectOutputGroup @@ -317,7 +317,7 @@ false false SemanticSearchRefs - PublishProjectOutputGroup + PublishedProjectOutputGroup false diff --git a/src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets b/src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets index 8ce2d5ff4c0e0..0bd122d3d7a83 100644 --- a/src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets +++ b/src/Workspaces/Remote/ServiceHub.CoreComponents/CoreComponents.Shared.targets @@ -35,9 +35,12 @@ --> - - + + + <_PublishPaths Include="@(PublishItemsOutputGroupOutputs->'%(OutputPath)')" /> + <_PublishDllPaths Include="@(_PublishPaths)" Condition="'%(Extension)' == '.dll'" /> + <_R2RAssemblies Include="@(ReferencePath->'%(FileName)%(Extension)')" Condition="'%(ReferenceSourceTarget)' == 'ProjectReference'" /> @@ -58,7 +61,7 @@ <_R2RAssemblies Include="Microsoft.NET.StringTools.dll" /> - <_AllPublishedAssemblyPaths Include="$(PublishDir)**\*.dll" Exclude="$(PublishDir)**\*.resources.dll" /> + <_AllPublishedAssemblyPaths Include="@(_PublishDllPaths)" Exclude="%(FileName).EndsWith('.resources')" /> <_AllPublishedAssemblies Include="@(_AllPublishedAssemblyPaths->'%(FileName)%(Extension)')" > <_FullFilePath>%(FullPath) @@ -71,6 +74,15 @@ <_R2RAssemblyPaths Include="@(_AllPublishedAssemblyPaths)" Exclude="@(_NoR2RAssemblyPaths)" /> + + + <_RuntimeLibraries Include="$(_RuntimeLibrariesPath)**\*.dll" /> + <_WinRuntimeLibraries Include="$(_WinRuntimeLibrariesPath)**\*.dll" /> + + <_RuntimeLibrariesInPublishDir Include="@(_RuntimeLibraries->'$(PublishDir)%(FileName)%(Extension)')" /> + <_RuntimeLibrariesInPublishDir Include="@(_WinRuntimeLibraries->'$(PublishDir)%(FileName)%(Extension)')" /> + + <_NonRuntimeAssembliesInPublishDir Include="@(_PublishDllPaths)" Exclude="@(_RuntimeLibrariesInPublishDir)" /> @@ -79,13 +91,13 @@ - + <_CrossgenTargetsAsDependencies Include="$(OriginalAssemblyDir)*.dll" /> - <_NonCrossgenTargetsAsDependencies Include="@(_NonRuntimeAssembliesInPublishDir)" Exclude="@(_R2RAssemblyPaths)" /> + <_NonCrossgenTargetsAsDependencies Include="@(_NonRuntimeAssembliesInPublishDir)" Exclude="@(_R2RAssemblyPaths)" /> <_CrossgenTargetPaths Include="@(_CrossgenTargetsAsDependencies)"> $(PublishDir)%(_CrossgenTargetsAsDependencies.Filename)%(_CrossgenTargetsAsDependencies.Extension) @@ -93,14 +105,14 @@ + Outputs="%(_CrossgenTargetPaths.OutputPath)"> <_Crossgen2ExePath>$(PkgMicrosoft_NETCore_App_crossgen2_win-x64)\tools\crossgen2.exe <_R2ROptimizeAssemblyPath>%(_CrossgenTargetPaths.FullPath) - <_R2ROptimizeAssemblyOutputPath>$(PublishDir)%(_CrossgenTargetPaths.Filename)%(_CrossgenTargetPaths.Extension) + <_R2ROptimizeAssemblyOutputPath>$(PublishDir)%(_CrossgenTargetPaths.Filename)%(_CrossgenTargetPaths.Extension) <_RspFilePath>$(CrossgenWorkDir)%(_CrossgenTargetPaths.Filename).CrossgenArgs.rsp @@ -121,25 +133,11 @@ - + - - - <_RuntimeLibraries Include="$(_RuntimeLibrariesPath)**\*.dll" /> - <_WinRuntimeLibraries Include="$(_WinRuntimeLibrariesPath)**\*.dll" /> - - <_RuntimeLibrariesInPublishDir Include="@(_RuntimeLibraries->'$(PublishDir)%(FileName)%(Extension)')" /> - <_RuntimeLibrariesInPublishDir Include="@(_WinRuntimeLibraries->'$(PublishDir)%(FileName)%(Extension)')" /> - - <_NonRuntimeAssembliesInPublishDir Include="$(PublishDir)*.dll" Exclude="@(_RuntimeLibrariesInPublishDir)" /> - - - - - - + <_ExcludeRuntimeLibraries Condition="'$(OfficialBuild)' == 'true'">true + - <_ExcludedFiles Include="$(PublishDir)**\Microsoft.CodeAnalysis.Remote.ServiceHub.CoreComponents.*" /> - <_ExcludedFiles Include="$(PublishDir)**\*.pdb" /> - <_ExcludedFiles Include="$(CrossgenWorkDir)**\*" /> + + <_VsixItem Include="@(_PublishPaths)" /> + <_VsixItem Remove="@(_VsixItem)" Condition="'%(Extension)' == '.pdb'" /> + + + <_VsixItem Remove="@(_VsixItem)" Condition="$([MSBuild]::ValueOrDefault('%(FileName)', '').StartsWith('$(TargetName)'))" /> - <_ExcludedFiles Include="$(PublishDir)runtimes\**\*.*" /> - <_ExcludedFiles Condition="'$(_ExcludeRuntimeLibraries)' == 'true'" Include="@(_RuntimeLibrariesInPublishDir)" /> + <_VsixItem Remove="@(_VsixItem)" Condition="$([MSBuild]::ValueOrDefault('%(FullPath)', '').StartsWith('$(PublishDir)runtimes'))" /> + + <_VsixItem Remove="@(_RuntimeLibrariesInPublishDir)" Condition="'$(_ExcludeRuntimeLibraries)' == 'true'" /> - - - <_PublishedFiles Include="$(PublishDir)**\*.*" Exclude="@(_ExcludedFiles)"/> - - <_PublishedFiles Update="@(_PublishedFiles)" TargetPath="%(RecursiveDir)%(Filename)%(Extension)" /> - + +