Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release reference assemblies break overload resolution in VB on .NET Framework 4.7.2 #51711

Closed
jmarolf opened this issue Mar 6, 2021 · 3 comments · Fixed by #51819
Closed
Assignees
Milestone

Comments

@jmarolf
Copy link
Contributor

jmarolf commented Mar 6, 2021

Compile project src/Compilers/Test/Utilities/VisualBasic/Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.vbproj for net472 with the following package reference added:

<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>

With the following command

 > dotnet build -f net472 src/Compilers/Test/Utilities/VisualBasic/Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.vbproj

You will get the following compiler errors:

src\Compilers\Test\Utilities\VisualBasic\CompilationTestUtils.vb(1217,22): error BC30455: Argument not specified for parameter 'Number' of 'Public Function Str(Number As Object) As String'. [src\Compilers\Test\Utilities\VisualBasic\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.vbproj]
src\Compilers\Test\Utilities\VisualBasic\CompilationTestUtils.vb(1221,25): error BC30455: Argument not specified for parameter 'Number' of 'Public Function Str(Number As Object) As String'. [src\Compilers\Test\Utilities\VisualBasic\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.vbproj]

See binlogs here:
logs.zip

The only major change I can see between the working and non-working commandlines is that Microsoft.VisualBasic.dll is passed in as a reference in the non-working case.

full commandline diff

    /35MSSharedLib1024.snk 
    /additionalfile:
        %OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\.NETFramework,Version=v4.7.2.AssemblyAttributes.vb
        %OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.AssemblyInfo.vb
        %OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.InternalsVisibleTo.vb
        %REPO_ROOT%\eng\targets\..\config\BannedSymbols.txt
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\BasicTestBase.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\BasicTestSource.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\BasicTrackingDiagnosticAnalyzer.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\CompilationTestUtils.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\DiagnosticExtensions.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\Extensions.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\LocalVariableDeclaratorsCollector.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\MetadataHelpers.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\MockSymbols.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\MockVbi.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\MockVisualBasicCompiler.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\ParserTestUtilities.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\SemanticModelTestBase.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\SyntaxTreeExtensions.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\TestOptions.vb
        %REPO_ROOT%\src\Compilers\Test\Utilities\VisualBasic\VBParser.vb
    /additionalfile:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\build\AdditionalFiles\vs-threading.LegacyThreadSwitchingMembers.txt 
    /additionalfile:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\build\AdditionalFiles\vs-threading.MainThreadAssertingMethods.txt 
    /additionalfile:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\build\AdditionalFiles\vs-threading.MainThreadSwitchingMethods.txt 
    /additionalfile:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\build\AdditionalFiles\vs-threading.MembersRequiringMainThread.txt 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.analyzers\3.3.2\analyzers\dotnet\vb\Microsoft.CodeAnalysis.Analyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.analyzers\3.3.2\analyzers\dotnet\vb\Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.bannedapianalyzers\3.3.3-beta1.21105.3\analyzers\dotnet\vb\Microsoft.CodeAnalysis.BannedApiAnalyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.bannedapianalyzers\3.3.3-beta1.21105.3\analyzers\dotnet\vb\Microsoft.CodeAnalysis.VisualBasic.BannedApiAnalyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.netanalyzers\6.0.0-preview1.21054.10\analyzers\dotnet\vb\Microsoft.CodeAnalysis.NetAnalyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.netanalyzers\6.0.0-preview1.21054.10\analyzers\dotnet\vb\Microsoft.CodeAnalysis.VisualBasic.NetAnalyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.publicapianalyzers\3.3.3-beta1.21105.3\analyzers\dotnet\Microsoft.CodeAnalysis.PublicApiAnalyzers.CodeFixes.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.codeanalysis.publicapianalyzers\3.3.3-beta1.21105.3\analyzers\dotnet\Microsoft.CodeAnalysis.PublicApiAnalyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\analyzers\vb\Microsoft.VisualStudio.Threading.Analyzers.CodeFixes.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\analyzers\vb\Microsoft.VisualStudio.Threading.Analyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\microsoft.visualstudio.threading.analyzers\16.9.51\analyzers\vb\Microsoft.VisualStudio.Threading.Analyzers.VisualBasic.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\roslyn.diagnostics.analyzers\3.3.3-beta1.21105.3\analyzers\dotnet\vb\Roslyn.Diagnostics.Analyzers.dll 
    /analyzer:%NUGET_PACKAGE_DIR%\roslyn.diagnostics.analyzers\3.3.3-beta1.21105.3\analyzers\dotnet\vb\Roslyn.Diagnostics.VisualBasic.Analyzers.dll 
    /analyzerconfig:%REPO_ROOT%\.editorconfig 
    /analyzerconfig:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.GeneratedMSBuildEditorConfig.editorconfig 
    /analyzerconfig:%REPO_ROOT%\eng\config\globalconfigs\Common.globalconfig 
    /analyzerconfig:%REPO_ROOT%\eng\config\globalconfigs\NonShipping.globalconfig 
    /analyzerconfig:%REPO_ROOT%\src\Compilers\.editorconfig 
    /checksumalgorithm:SHA256 
    /debug:embedded 
    /debug+ 
    /define:
        _MyType=\"Empty\"
        CONFIG=\"Debug\"
        DEBUG=-1
        NET20_OR_GREATER=-1
        NET30_OR_GREATER=-1
        NET35_OR_GREATER=-1
        NET40_OR_GREATER=-1
        NET45_OR_GREATER=-1
        NET451_OR_GREATER=-1
        NET452_OR_GREATER=-1
        NET46_OR_GREATER=-1
        NET461_OR_GREATER=-1
        NET462_OR_GREATER=-1
        NET47_OR_GREATER=-1
        NET471_OR_GREATER=-1
        NET472_OR_GREATER=-1 
        NET472=-1
        NETFRAMEWORK=-1
        PLATFORM=\"AnyCPU\"
        TRACE=-1
    /delaysign- 
    /deterministic+ 
    /doc:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.xml 
    /embed:"%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\.NETFramework,Version=v4.7.2.AssemblyAttributes.vb" 
    /embed:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.AssemblyInfo.vb 
    /embed:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.InternalsVisibleTo.vb 
    /errorreport:prompt 
    /features:strict 
    /filealign:512 
    /highentropyva+ 
    /imports:
        "IdentifierComparison = Microsoft.CodeAnalysis.CaseInsensitiveComparison"
        Microsoft.CodeAnalysis
        Microsoft.CodeAnalysis.VisualBasic
        Microsoft.CodeAnalysis.VisualBasic.Emit
        Microsoft.CodeAnalysis.VisualBasic.Symbols
        Microsoft.CodeAnalysis.VisualBasic.Syntax
        Microsoft.VisualBasic
        Microsoft.VisualBasic
        Roslyn.Utilities
        System
        System
        System.Collections
        System.Collections
        System.Collections.Generic
        System.Collections.Generic
        System.Data
        System.Diagnostics
        System.Diagnostics
        System.Linq
        System.Linq
        System.Threading.Tasks 
        System.Xml.Linq
    /keyfile:%NUGET_PACKAGE_DIR%\microsoft.dotnet.arcade.sdk\1.0.0-beta.21118.7\tools\snk
    /langversion:16 
    /noconfig 
+   /nosdkpath 
    /nostdlib 
    /nowarn:40057,42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,NU5105,Nullable 
    /optimize- 
    /optioncompare:Binary 
    /optionexplicit+ 
    /optioninfer+ 
    /optionstrict+ 
    /out:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.dll 
    /publicsign+ 
    /reference:
        %ARTIFACTS_DIR%\bin\Microsoft.CodeAnalysis.Compiler.Test.Resources\Debug\netstandard2.0\ref\Microsoft.CodeAnalysis.Compiler.Test.Resources.dll
        %ARTIFACTS_DIR%\bin\Microsoft.CodeAnalysis.CSharp\Debug\netstandard2.0\ref\Microsoft.CodeAnalysis.CSharp.dll
        %ARTIFACTS_DIR%\bin\Microsoft.CodeAnalysis.Test.Utilities\Debug\net472\ref\Microsoft.CodeAnalysis.Test.Utilities.dll
        %ARTIFACTS_DIR%\bin\Microsoft.CodeAnalysis.VisualBasic\Debug\netstandard2.0\ref\Microsoft.CodeAnalysis.VisualBasic.dll
        %ARTIFACTS_DIR%\bin\Microsoft.CodeAnalysis\Debug\netstandard2.0\ref\Microsoft.CodeAnalysis.dll
        %ARTIFACTS_DIR%\bin\Roslyn.Test.PdbUtilities\Debug\net472\ref\Roslyn.Test.PdbUtilities.dll
        %NUGET_PACKAGE_DIR%\castle.core\4.3.1\lib\net45\Castle.Core.dll
        %NUGET_PACKAGE_DIR%\diffplex\1.4.4\lib\net40\DiffPlex.dll
        %NUGET_PACKAGE_DIR%\humanizer.core\2.2.0\lib\netstandard1.0\Humanizer.dll
        %NUGET_PACKAGE_DIR%\icsharpcode.decompiler\6.1.0.5902\lib\netstandard2.0\ICSharpCode.Decompiler.dll
        %NUGET_PACKAGE_DIR%\microsoft.codeanalysis.analyzerutilities\3.3.0\lib\netstandard2.0\Microsoft.CodeAnalysis.AnalyzerUtilities.dll
        %NUGET_PACKAGE_DIR%\microsoft.codeanalysis.test.resources.proprietary\2.0.41\lib\netstandard1.3\Microsoft.CodeAnalysis.Test.Resources.Proprietary.dll
        %NUGET_PACKAGE_DIR%\microsoft.diasymreader.converter.xml\1.1.0-beta2-20115-01\lib\netstandard2.0\Microsoft.DiaSymReader.Converter.Xml.dll
        %NUGET_PACKAGE_DIR%\microsoft.diasymreader.converter\1.1.0-beta2-20115-01\lib\net45\Microsoft.DiaSymReader.Converter.dll
        %NUGET_PACKAGE_DIR%\microsoft.diasymreader.portablepdb\1.5.0\lib\net45\Microsoft.DiaSymReader.PortablePdb.dll
        %NUGET_PACKAGE_DIR%\microsoft.diasymreader\1.3.0\lib\net20\Microsoft.DiaSymReader.dll
        %NUGET_PACKAGE_DIR%\microsoft.metadata.visualizer\1.0.0-beta3.21075.2\lib\netstandard2.0\Microsoft.Metadata.Visualizer.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\Microsoft.Win32.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\Microsoft.Win32.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\netstandard.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\netstandard.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.AppContext.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.AppContext.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Collections.Concurrent.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Collections.Concurrent.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Collections.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Collections.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Collections.NonGeneric.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Collections.NonGeneric.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Collections.Specialized.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Collections.Specialized.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.Annotations.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.Annotations.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.EventBasedAsync.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.EventBasedAsync.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.TypeConverter.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ComponentModel.TypeConverter.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Console.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Console.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Data.Common.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Data.Common.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Contracts.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Contracts.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Debug.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Debug.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.FileVersionInfo.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.FileVersionInfo.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Process.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Process.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.StackTrace.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.StackTrace.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.TextWriterTraceListener.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.TextWriterTraceListener.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Tools.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.Tools.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.TraceSource.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Diagnostics.TraceSource.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Drawing.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Drawing.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Dynamic.Runtime.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Dynamic.Runtime.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Globalization.Calendars.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Globalization.Calendars.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Globalization.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Globalization.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Globalization.Extensions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Globalization.Extensions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.Compression.ZipFile.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.Compression.ZipFile.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.DriveInfo.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.DriveInfo.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.Watcher.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.FileSystem.Watcher.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.IsolatedStorage.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.IsolatedStorage.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.MemoryMappedFiles.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.MemoryMappedFiles.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.Pipes.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.Pipes.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.IO.UnmanagedMemoryStream.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.IO.UnmanagedMemoryStream.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Linq.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Linq.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Linq.Expressions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Linq.Expressions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Linq.Parallel.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Linq.Parallel.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Linq.Queryable.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Linq.Queryable.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Http.Rtc.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Http.Rtc.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.NameResolution.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.NameResolution.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.NetworkInformation.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.NetworkInformation.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Ping.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Ping.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Requests.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Requests.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Security.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Security.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.Sockets.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.Sockets.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.WebHeaderCollection.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.WebHeaderCollection.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.WebSockets.Client.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.WebSockets.Client.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Net.WebSockets.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Net.WebSockets.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ObjectModel.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ObjectModel.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.ILGeneration.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.ILGeneration.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.Lightweight.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.Emit.Lightweight.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.Extensions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.Extensions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Reflection.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Reflection.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Resources.Reader.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Resources.Reader.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Resources.ResourceManager.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Resources.ResourceManager.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Resources.Writer.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Resources.Writer.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.CompilerServices.VisualC.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.CompilerServices.VisualC.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Extensions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Extensions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Handles.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Handles.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.RuntimeInformation.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.RuntimeInformation.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.WindowsRuntime.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.InteropServices.WindowsRuntime.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Numerics.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Numerics.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Formatters.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Formatters.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Json.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Json.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Xml.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Runtime.Serialization.Xml.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Claims.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Claims.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Algorithms.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Algorithms.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Csp.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Csp.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Encoding.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Encoding.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.X509Certificates.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Cryptography.X509Certificates.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.Principal.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.Principal.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Security.SecureString.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Security.SecureString.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Duplex.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Duplex.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Http.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Http.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.NetTcp.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.NetTcp.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Primitives.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Primitives.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Security.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.ServiceModel.Security.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Text.Encoding.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Text.Encoding.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Text.Encoding.Extensions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Text.Encoding.Extensions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Text.RegularExpressions.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Text.RegularExpressions.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.Overlapped.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.Overlapped.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.Tasks.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.Tasks.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.Tasks.Parallel.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.Tasks.Parallel.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.Thread.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.Thread.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.ThreadPool.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.ThreadPool.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Threading.Timer.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Threading.Timer.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.ReaderWriter.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.ReaderWriter.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.XDocument.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.XDocument.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.XmlDocument.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.XmlDocument.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.XmlSerializer.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.XmlSerializer.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.XPath.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.XPath.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Facades\System.Xml.XPath.XDocument.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Facades\System.Xml.XPath.XDocument.dll 
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\Microsoft.CSharp.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Microsoft.CSharp.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Microsoft.VisualBasic.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\mscorlib.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\mscorlib.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.ComponentModel.Composition.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.ComponentModel.Composition.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Configuration.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Configuration.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Core.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Core.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Data.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Data.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Diagnostics.Tracing.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Diagnostics.Tracing.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Drawing.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Drawing.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.IO.Compression.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.IO.Compression.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.IO.Compression.FileSystem.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.IO.Compression.FileSystem.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Net.Http.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Net.Http.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Numerics.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Numerics.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Runtime.Serialization.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Runtime.Serialization.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Xml.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Xml.dll
-       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0-preview.1\build\.NETFramework\v4.7.2\System.Xml.Linq.dll
+       %NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\System.Xml.Linq.dll
        %NUGET_PACKAGE_DIR%\moq\4.10.1\lib\net45\Moq.dll
        %NUGET_PACKAGE_DIR%\newtonsoft.json\12.0.2\lib\net45\Newtonsoft.Json.dll
        %NUGET_PACKAGE_DIR%\system.buffers\4.5.1\ref\net45\System.Buffers.dll
        %NUGET_PACKAGE_DIR%\system.collections.immutable\5.0.0\lib\net461\System.Collections.Immutable.dll
        %NUGET_PACKAGE_DIR%\system.memory\4.5.4\lib\net461\System.Memory.dll
        %NUGET_PACKAGE_DIR%\system.numerics.vectors\4.5.0\ref\net46\System.Numerics.Vectors.dll
        %NUGET_PACKAGE_DIR%\system.reflection.metadata\5.0.0\lib\net461\System.Reflection.Metadata.dll
        %NUGET_PACKAGE_DIR%\system.runtime.compilerservices.unsafe\5.0.0\ref\net461\System.Runtime.CompilerServices.Unsafe.dll
        %NUGET_PACKAGE_DIR%\system.text.encoding.codepages\4.5.1\lib\net461\System.Text.Encoding.CodePages.dll
        %NUGET_PACKAGE_DIR%\system.threading.tasks.extensions\4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
        %NUGET_PACKAGE_DIR%\system.valuetuple\4.5.0\ref\net47\System.ValueTuple.dll
        %NUGET_PACKAGE_DIR%\xunit.abstractions\2.0.3\lib\net35\xunit.abstractions.dll
        %NUGET_PACKAGE_DIR%\xunit.assert\2.4.1-pre.build.4059\lib\netstandard2.0\xunit.assert.dll
        %NUGET_PACKAGE_DIR%\xunit.combinatorial\1.3.2\lib\net452\Xunit.Combinatorial.dll
        %NUGET_PACKAGE_DIR%\xunit.extensibility.core\2.4.1-pre.build.4059\lib\net452\xunit.core.dll
    /refout:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\ref\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.dll 
    /removeintchecks+ 
    /rootnamespace:Microsoft.CodeAnalysis.VisualBasic.UnitTests 
    /sdkpath:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2" 
    /skipanalyzers+ 
    /sourcelink:%OBJ_DIR%\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities\Debug\net472\Microsoft.CodeAnalysis.VisualBasic.Test.Utilities.sourcelink.json 
    /subsystemversion:6.00 
    /target:library 
    /utf8output 
-   /vbruntime*
+   /vbruntime:%NUGET_PACKAGE_DIR%\microsoft.netframework.referenceassemblies.net472\1.0.0\build\.NETFramework\v4.7.2\Microsoft.VisualBasic.dll 
    /warnaserror- 
    /warnaserror-:IDE0055
    /warnaserror+:NU1605 

@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead labels Mar 6, 2021
@jaredpar
Copy link
Member

jaredpar commented Mar 7, 2021

This is because of the following target in the 1.0.0 version of the package

1.0.0

  <ItemGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETFramework') And ('$(TargetFrameworkVersion)' == 'v4.7.2') ">
    <Reference Include="mscorlib" Pack="false" />
    <Reference Include="Microsoft.VisualBasic" Pack="false"
               Condition="'$(Language)' == 'VB' And '$(UsingMicrosoftNETSdk)' == 'true'" />
  </ItemGroup>

1.0.0-preview1

  <ItemGroup Condition=" ('$(TargetFrameworkIdentifier)' == '.NETFramework') And ('$(TargetFrameworkVersion)' == 'v4.7.2') ">
    <Reference Include="mscorlib" Pack="false" />
  </ItemGroup>

Essentially the 1.0.0 RTM forces the reference of MS.VB.dll which my instinct says is the wrong behavior here. That should not be controlled at this level, rather it should be controlled by the underlying SDK.

In either case though the fix is very simple: the identifier just needs to be renamed from str to a different value in the For Each loop in CompilationTestUtils.vb. The VB For Each loop identifier is not necessarily a new variable declaration, as it is for C#. Instead it can re-use existing identifiers hence the language does a general identifier lookup here. The Conversions module in MS.VB.dll introduces a number of functions which are top level since the global import contains Microsoft.VisualBasic. One of those is Str which is why this error is present.

Do feel like there are two outcomes here:

  1. We should just rename the identifiers in this code to not clash with those defined in Microsoft.VisulaBasic.Conversions. Had to make similar changes like this in the past.
  2. The reference assemblies need to be changed such that they don't force Microsoft.VisualBasic.dll in this way. The project must be in control of whether or not it receives this reference.

I'm unsure where the bug for (2) should filed though. @dsplaisted do you know?

@jaredpar jaredpar added Bug and removed untriaged Issues and PRs which have not yet been triaged by a lead labels Mar 7, 2021
@jaredpar jaredpar added this to the 16.10 milestone Mar 7, 2021
@dsplaisted
Copy link
Member

See dotnet/installer#3228 for why we added the Microsoft.VisualBasic reference. I think that there is some weirdness with the VB Runtime that meant we felt this was the best solution.

@jaredpar
Copy link
Member

jaredpar commented Mar 8, 2021

@dsplaisted how do we setup a VB project that does not reference Microsoft.VisualBasic.dll?

I think that is one part that often gets overlooked in these types of changes. While referencing Microsoft.VisualBasic.dll is expected for most VB projects, and should be the implicit default, it's by no means required.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants