Skip to content

Commit a5e6a06

Browse files
committed
Comment
1 parent ebae026 commit a5e6a06

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/LegacyStyleProjectGeneration.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
4444
headerBuilder.Append(@" <OutputType>Library</OutputType>").Append(k_WindowsNewline);
4545
headerBuilder.Append(@" <AppDesignerFolder>Properties</AppDesignerFolder>").Append(k_WindowsNewline);
4646
headerBuilder.Append(@" <AssemblyName>").Append(properties.AssemblyName).Append(@"</AssemblyName>").Append(k_WindowsNewline);
47+
// In the end, given we use NoConfig/NoStdLib (see below), hardcoding the target framework version with the legacy format will have no impact, even when targeting netstandard/net48 from Unity.
48+
// And VSTU/Unity Game workload has a dependency towards net471 reference assemblies, so IDE will not complain that this specific SDK is not available.
49+
// Unity already selected proper API surface through referenced DLLs for us.
4750
headerBuilder.Append(@" <TargetFrameworkVersion>v4.7.1</TargetFrameworkVersion>").Append(k_WindowsNewline);
4851
headerBuilder.Append(@" <FileAlignment>512</FileAlignment>").Append(k_WindowsNewline);
4952
headerBuilder.Append(@" <BaseDirectory>.</BaseDirectory>").Append(k_WindowsNewline);

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/ProjectGeneration.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ public bool SyncIfNeeded(IEnumerable<string> affectedFiles, IEnumerable<string>
105105

106106
SetupProjectSupportedExtensions();
107107

108-
// See https://devblogs.microsoft.com/setup/configure-visual-studio-across-your-organization-with-vsconfig/
109-
// We create a .vsconfig file to make sure our ManagedGame workload is installed
110108
CreateExtraFiles(m_CurrentInstallation);
111109

112110
// Don't sync if we haven't synced before

Packages/com.unity.ide.visualstudio/Editor/ProjectGeneration/SdkStyleProjectGeneration.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,10 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
2727
headerBuilder.Append(@" <OutputType>Library</OutputType>").Append(k_WindowsNewline);
2828
headerBuilder.Append(@" <AppDesignerFolder>Properties</AppDesignerFolder>").Append(k_WindowsNewline);
2929
headerBuilder.Append(@" <AssemblyName>").Append(properties.AssemblyName).Append(@"</AssemblyName>").Append(k_WindowsNewline);
30-
headerBuilder.Append(@" <TargetFramework>net471</TargetFramework>").Append(k_WindowsNewline);
30+
// In the end, given we use NoConfig/NoStdLib (see below), hardcoding the target framework version will have no impact, even when targeting netstandard/net48 from Unity.
31+
// But with SDK style we use netstandard2.0 (net471 for legacy), so 3rd party tools will not fail to work when .NETFW reference assemblies are not installed.
32+
// Unity already selected proper API surface through referenced DLLs for us.
33+
headerBuilder.Append(@" <TargetFramework>netstandard2.0</TargetFramework>").Append(k_WindowsNewline);
3134
headerBuilder.Append(@" <BaseDirectory>.</BaseDirectory>").Append(k_WindowsNewline);
3235
headerBuilder.Append(@" </PropertyGroup>").Append(k_WindowsNewline);
3336

@@ -37,6 +40,7 @@ internal override void GetProjectHeader(ProjectProperties properties, out String
3740
headerBuilder.Append(@" <PropertyGroup>").Append(k_WindowsNewline);
3841
headerBuilder.Append(@" <NoStandardLibraries>true</NoStandardLibraries>").Append(k_WindowsNewline);
3942
headerBuilder.Append(@" <NoStdLib>true</NoStdLib>").Append(k_WindowsNewline);
43+
headerBuilder.Append(@" <NoConfig>true</NoConfig>").Append(k_WindowsNewline);
4044
headerBuilder.Append(@" <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>").Append(k_WindowsNewline);
4145
headerBuilder.Append(@" </PropertyGroup>").Append(k_WindowsNewline);
4246

Packages/com.unity.ide.visualstudio/Editor/VisualStudioForWindowsInstallation.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ private enum COMIntegrationState
241241

242242
public override void CreateExtraFiles(string projectDirectory)
243243
{
244+
// See https://devblogs.microsoft.com/setup/configure-visual-studio-across-your-organization-with-vsconfig/
245+
// We create a .vsconfig file to make sure our ManagedGame workload is installed
244246
try
245247
{
246248
var vsConfigFile = IOPath.Combine(projectDirectory.NormalizePathSeparators(), ".vsconfig");

0 commit comments

Comments
 (0)