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

port some System.IO.Packaging, System.CodeDom, System.Collections.Immutable and System.Configuration.ConfigurationManager #55216

Closed
wants to merge 9 commits into from

Conversation

Anipik
Copy link
Contributor

@Anipik Anipik commented Jul 6, 2021

  • port the projects
  • replace runtimeOS with PackageTargetRuntime (bug)

// will add the diff soon

@ghost
Copy link

ghost commented Jul 6, 2021

Tagging subscribers to this area: @Anipik, @safern, @ViktorHofer
See info in area-owners.md if you want to be subscribed.

Issue Details
  • port the projects
  • replace runtimeOS with PackageTargetRuntime (bug)
Author: Anipik
Assignees: -
Labels:

area-Infrastructure-libraries

Milestone: -

eng/references.targets Outdated Show resolved Hide resolved
@Anipik
Copy link
Contributor Author

Anipik commented Jul 7, 2021

 --git "a/E:\\diffs\\oldNuspecs\\/System.CodeDom.nuspec" "b/E:\\diffs\\NewNuspecs\\/System.CodeDom.nuspec"
index 9f2f1166b81..90a41ba097f 100644
--- "a/E:\\diffs\\oldNuspecs\\/System.CodeDom.nuspec"
+++ "b/E:\\diffs\\NewNuspecs\\/System.CodeDom.nuspec"
@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
-  <metadata minClientVersion="2.12">
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
     <id>System.CodeDom</id>
     <version>6.0.0-dev</version>
-    <title>System.CodeDom</title>
     <authors>Microsoft</authors>
-    <owners>microsoft,dotnetframework</owners>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
     <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
     <icon>Icon.png</icon>
     <projectUrl>https://dot.net/</projectUrl>
-    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
     <description>Provides types that can be used to model the structure of a source code document and to output source code for that model in a supported language.
 
 Commonly Used Types:
@@ -24,40 +21,26 @@ Microsoft.VisualBasic.VBCodeProvider</description>
     <repository type="git" url="https://github.com/dotnet/runtime" commit="0000000000000000000000000000000000000000" />
     <dependencies>
       <group targetFramework=".NETFramework4.6.1" />
-      <group targetFramework=".NETCoreApp6.0" />
+      <group targetFramework="net6.0" />
       <group targetFramework=".NETStandard2.0" />
     </dependencies>
-    <frameworkAssemblies>
-      <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
-      <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6.1" />
-    </frameworkAssemblies>
   </metadata>
   <files>
-    <file src="net461-Debug\System.CodeDom.dll" target="lib\net461" exclude="" />
-    <file src="net461-Debug\System.CodeDom.pdb" target="lib\net461" exclude="" />
-    <file src="System.CodeDom.xml" target="lib\net461" exclude="" />
-
-    <file src="net6.0-Debug\System.CodeDom.dll" target="lib\net6.0" exclude="" />
-    <file src="net6.0-Debug\System.CodeDom.pdb" target="lib\net6.0" exclude="" />
-    <file src="System.CodeDom.xml" target="lib\net6.0" exclude="" />
-
-    <file src="System.CodeDom\netstandard2.0-Debug\System.CodeDom.dll" target="lib\netstandard2.0" exclude="" />
-    <file src="System.CodeDom\netstandard2.0-Debug\System.CodeDom.pdb" target="lib\netstandard2.0" exclude="" />
-    <file src="System.CodeDom.xml" target="lib\netstandard2.0" exclude="" />
-
-    <file src="System.CodeDom\ref\net461-Debug\System.CodeDom.dll" target="ref\net461" exclude="" />
-    <file src="System.CodeDom\ref\net461-Debug\System.CodeDom.pdb" target="ref\net461" exclude="" />
-    <file src="System.CodeDom.xml" target="ref\net461" exclude="" />
-    <file src="System.CodeDom\ref\net6.0-Debug\System.CodeDom.dll" target="ref\net6.0" exclude="" />
-    <file src="System.CodeDom\ref\net6.0-Debug\System.CodeDom.pdb" target="ref\net6.0" exclude="" />
-    <file src="System.CodeDom.xml" target="ref\net6.0" exclude="" />
-    <file src="System.CodeDom\ref\netstandard2.0-Debug\System.CodeDom.dll" target="ref\netstandard2.0" exclude="" />
-    <file src="System.CodeDom\ref\netstandard2.0-Debug\System.CodeDom.pdb" target="ref\netstandard2.0" exclude="" />
-    <file src="System.CodeDom.xml" target="ref\netstandard2.0" exclude="" />
+    <file src="net461-Debug\System.CodeDom.dll" target="lib\net461\System.CodeDom.dll" />
+    <file src="net461-Debug\System.CodeDom.pdb" target="lib\net461\System.CodeDom.pdb" />
+    <file src="System.CodeDom.xml" target="lib\net461\System.CodeDom.xml" />
+    
+    <file src="net6.0-Debug\System.CodeDom.dll" target="lib\net6.0\System.CodeDom.dll" />
+    <file src="net6.0-Debug\System.CodeDom.pdb" target="lib\net6.0\System.CodeDom.pdb" />
+    <file src="System.CodeDom.xml" target="lib\net6.0\System.CodeDom.xml" />
+    
+    <file src="netstandard2.0-Debug\System.CodeDom.dll" target="lib\netstandard2.0\System.CodeDom.dll" />
+    <file src="netstandard2.0-Debug\System.CodeDom.pdb" target="lib\netstandard2.0\System.CodeDom.pdb" />
+    <file src="System.CodeDom.xml" target="lib\netstandard2.0\System.CodeDom.xml" />
     
-    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" exclude="" />
-    <file src="DotNetPackageIcon.png" target="Icon.png" exclude="" />
-    <file src="LICENSE.TXT" target="LICENSE.TXT" exclude="" />
-    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" exclude="" />
+    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" />
+    <file src="DotNetPackageIcon.png" target="Icon.png" />
+    <file src="LICENSE.TXT" target="LICENSE.TXT" />
+    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" />
   </files>
 </package>
\ No newline at end of file
diff --git "a/E:\\diffs\\oldNuspecs\\/System.Collections.Immutable.nuspec" "b/E:\\diffs\\NewNuspecs\\/System.Collections.Immutable.nuspec"
index 1a4c0b538a1..c624f6359eb 100644
--- "a/E:\\diffs\\oldNuspecs\\/System.Collections.Immutable.nuspec"
+++ "b/E:\\diffs\\NewNuspecs\\/System.Collections.Immutable.nuspec"
@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
-  <metadata minClientVersion="2.12">
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
     <id>System.Collections.Immutable</id>
     <version>6.0.0-dev</version>
-    <title>System.Collections.Immutable</title>
     <authors>Microsoft</authors>
-    <owners>microsoft,dotnetframework</owners>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
     <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
     <icon>Icon.png</icon>
     <projectUrl>https://dot.net/</projectUrl>
-    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
     <description>This package provides collections that are thread safe and guaranteed to never change their contents, also known as immutable collections. Like strings, any methods that perform modifications will not change the existing instance but instead return a new instance. For efficiency reasons, the implementation uses a sharing mechanism to ensure that newly created instances share as much data as possible with the previous instance while ensuring that operations have a predictable time complexity.
 
 Commonly Used Types:
@@ -35,59 +32,35 @@ System.Collections.Immutable.ImmutableStack&lt;T&gt;</description>
     <serviceable>true</serviceable>
     <repository type="git" url="https://github.com/dotnet/runtime" commit="0000000000000000000000000000000000000000" />
     <dependencies>
-      <group targetFramework="MonoAndroid1.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="MonoTouch1.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
       <group targetFramework=".NETFramework4.6.1">
-        <dependency id="System.Memory" version="4.5.4" />
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" exclude="Build,Analyzers" />
+        <dependency id="System.Memory" version="4.5.4" exclude="Build,Analyzers" />
       </group>
-      <group targetFramework=".NETCoreApp6.0" />
-      <group targetFramework=".NETCoreApp2.1">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
+      <group targetFramework="net6.0" />
      <group targetFramework=".NETStandard2.0">
-        <dependency id="System.Memory" version="4.5.4" />
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.iOS1.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.Mac2.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.TVOS1.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.WatchOS1.0">
-        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" />
+        <dependency id="System.Runtime.CompilerServices.Unsafe" version="6.0.0-dev" exclude="Build,Analyzers" />
+        <dependency id="System.Memory" version="4.5.4" exclude="Build,Analyzers" />
       </group>
     </dependencies>
-    <frameworkAssemblies>
-      <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
-      <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6.1" />
-      <frameworkAssembly assemblyName="System.Core" targetFramework=".NETFramework4.6.1" />
-    </frameworkAssemblies>
   </metadata>
   <files>
-    <file src="System.Collections.Immutable\net461-Debug\System.Collections.Immutable.dll" target="lib\net461" exclude="" />
-    <file src="System.Collections.Immutable\net461-Debug\System.Collections.Immutable.pdb" target="lib\net461" exclude="" />
-    <file src="System.Collections.Immutable.xml" target="lib\net461" exclude="" />
+    <file src="System.Collections.Immutable\net461-Debug\System.Collections.Immutable.dll" target="lib\net461\System.Collections.Immutable.dll" />
+    <file src="System.Collections.Immutable\net461-Debug\System.Collections.Immutable.pdb" target="lib\net461\System.Collections.Immutable.pdb" />
+    <file src="System.Collections.Immutable.xml" target="lib\net461\System.Collections.Immutable.xml" />
     
-    <file src="System.Collections.Immutable\net6.0-Debug\System.Collections.Immutable.dll" target="lib\net6.0" exclude="" />
-    <file src="System.Collections.Immutable\net6.0-Debug\System.Collections.Immutable.pdb" target="lib\net6.0" exclude="" />
-    <file src="System.Collections.Immutable.xml" target="lib\net6.0" exclude="" />
+    <file src="System.Collections.Immutable\net6.0-Debug\System.Collections.Immutable.dll" target="lib\net6.0\System.Collections.Immutable.dll" />
+    <file src="System.Collections.Immutable\net6.0-Debug\System.Collections.Immutable.pdb" target="lib\net6.0\System.Collections.Immutable.pdb" />
+    <file src="System.Collections.Immutable.xml" target="lib\net6.0\System.Collections.Immutable.xml" />
     
-    <file src="System.Collections.Immutable\netstandard2.0-Debug\System.Collections.Immutable.dll" target="lib\netstandard2.0" exclude="" />
-    <file src="System.Collections.Immutable\netstandard2.0-Debug\System.Collections.Immutable.pdb" target="lib\netstandard2.0" exclude="" />
-    <file src="System.Collections.Immutable.xml" target="lib\netstandard2.0" exclude="" />
+    <file src="System.Collections.Immutable\netstandard2.0-Debug\System.Collections.Immutable.dll" target="lib\netstandard2.0\System.Collections.Immutable.dll" />
+    <file src="System.Collections.Immutable\netstandard2.0-Debug\System.Collections.Immutable.pdb" target="lib\netstandard2.0\System.Collections.Immutable.pdb" />
+    <file src="System.Collections.Immutable.xml" target="lib\netstandard2.0\System.Collections.Immutable.xml" />
     
-    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" exclude="" />
-    <file src="DotNetPackageIcon.png" target="Icon.png" exclude="" />
-    <file src="LICENSE.TXT" target="LICENSE.TXT" exclude="" />
-    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" exclude="" />
+    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" />
+    <file src="DotNetPackageIcon.png" target="Icon.png" />
+    <file src="LICENSE.TXT" target="LICENSE.TXT" />
+    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" />
   </files>
 </package>
\ No newline at end of file
diff --git "a/E:\\diffs\\oldNuspecs\\/System.Configuration.ConfigurationManager.nuspec" "b/E:\\diffs\\NewNuspecs\\/System.Configuration.ConfigurationManager.nuspec"
index ccf53b986f3..103feb82a68 100644
--- "a/E:\\diffs\\oldNuspecs\\/System.Configuration.ConfigurationManager.nuspec"
+++ "b/E:\\diffs\\NewNuspecs\\/System.Configuration.ConfigurationManager.nuspec"
@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
-  <metadata minClientVersion="2.12">
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
     <id>System.Configuration.ConfigurationManager</id>
     <version>6.0.0-dev</version>
-    <title>System.Configuration.ConfigurationManager</title>
     <authors>Microsoft</authors>
-    <owners>microsoft,dotnetframework</owners>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
     <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
     <icon>Icon.png</icon>
     <projectUrl>https://dot.net/</projectUrl>
-    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
     <description>Provides types that support using configuration files.
 
 Commonly Used Types:
@@ -21,69 +18,38 @@ System.Configuration.ConfigurationManager</description>
     <serviceable>true</serviceable>
     <repository type="git" url="https://github.com/dotnet/runtime" commit="0000000000000000000000000000000000000000" />
     <dependencies>
-      <group targetFramework="MonoAndroid1.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="MonoTouch1.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
       <group targetFramework=".NETFramework4.6.1">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
+        <dependency id="System.Security.Permissions" version="6.0.0-dev" exclude="Build,Analyzers" />
       </group>
-      <group targetFramework=".NETCoreApp6.0">
-        <dependency id="System.Security.Cryptography.ProtectedData" version="6.0.0-dev" exclude="Compile" />
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
+      <group targetFramework="net6.0">
+        <dependency id="System.Security.Cryptography.ProtectedData" version="6.0.0-dev" exclude="Build,Analyzers" />
+        <dependency id="System.Security.Permissions" version="6.0.0-dev" exclude="Build,Analyzers" />
       </group>
       <group targetFramework=".NETStandard2.0">
-        <dependency id="System.Security.Cryptography.ProtectedData" version="6.0.0-dev" exclude="Compile" />
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.iOS1.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.Mac2.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.TVOS1.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
-      </group>
-      <group targetFramework="Xamarin.WatchOS1.0">
-        <dependency id="System.Security.Permissions" version="6.0.0-dev" />
+        <dependency id="System.Security.Cryptography.ProtectedData" version="6.0.0-dev" exclude="Build,Analyzers" />
+        <dependency id="System.Security.Permissions" version="6.0.0-dev" exclude="Build,Analyzers" />
       </group>
     </dependencies>
     <frameworkAssemblies>
-      <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
-      <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6.1" />
       <frameworkAssembly assemblyName="System.Configuration" targetFramework=".NETFramework4.6.1" />
-      <frameworkAssembly assemblyName="System.Drawing" targetFramework=".NETFramework4.6.1" />
     </frameworkAssemblies>
   </metadata>
   <files>
-    <file src="System.Configuration.ConfigurationManager\net461-Debug\System.Configuration.ConfigurationManager.dll" target="lib\net461" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\net461-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\net461" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="lib\net461" exclude="" />
-    
-    <file src="System.Configuration.ConfigurationManager\net6.0-Debug\System.Configuration.ConfigurationManager.dll" target="lib\net6.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\net6.0-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\net6.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="lib\net6.0" exclude="" />
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\net461-Debug\System.Configuration.ConfigurationManager.dll" target="lib\net461\System.Configuration.ConfigurationManager.dll" />  
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\net461-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\net461\System.Configuration.ConfigurationManager.pdb" />
+    <file src="System.Configuration.ConfigurationManager.xml" target="lib\net461\System.Configuration.ConfigurationManager.xml" />
     
-    <file src="System.Configuration.ConfigurationManager\netstandard2.0-Debug\System.Configuration.ConfigurationManager.dll" target="lib\netstandard2.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\netstandard2.0-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\netstandard2.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="lib\netstandard2.0" exclude="" />
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\net6.0-Debug\System.Configuration.ConfigurationManager.dll" target="lib\net6.0\System.Configuration.ConfigurationManager.dll" />
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\net6.0-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\net6.0\System.Configuration.ConfigurationManager.pdb" />
+    <file src="System.Configuration.ConfigurationManager.xml" target="lib\net6.0\System.Configuration.ConfigurationManager.xml" />
     
-    <file src="System.Configuration.ConfigurationManager\ref\net461-Debug\System.Configuration.ConfigurationManager.dll" target="ref\net461" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\ref\net461-Debug\System.Configuration.ConfigurationManager.pdb" target="ref\net461" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="ref\net461" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\ref\net6.0-Debug\System.Configuration.ConfigurationManager.dll" target="ref\net6.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\ref\net6.0-Debug\System.Configuration.ConfigurationManager.pdb" target="ref\net6.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="ref\net6.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\ref\netstandard2.0-Debug\System.Configuration.ConfigurationManager.dll" target="ref\netstandard2.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager\ref\netstandard2.0-Debug\System.Configuration.ConfigurationManager.pdb" target="ref\netstandard2.0" exclude="" />
-    <file src="System.Configuration.ConfigurationManager.xml" target="ref\netstandard2.0" exclude="" />
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\netstandard2.0-Debug\System.Configuration.ConfigurationManager.dll" target="lib\netstandard2.0\System.Configuration.ConfigurationManager.dll" />
+    <file src="artifacts\bin\System.Configuration.ConfigurationManager\netstandard2.0-Debug\System.Configuration.ConfigurationManager.pdb" target="lib\netstandard2.0\System.Configuration.ConfigurationManager.pdb" />
+    <file src="System.Configuration.ConfigurationManager.xml" target="lib\netstandard2.0\System.Configuration.ConfigurationManager.xml" />
     
-    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" exclude="" />
-    <file src="DotNetPackageIcon.png" target="Icon.png" exclude="" />
-    <file src="LICENSE.TXT" target="LICENSE.TXT" exclude="" />
-    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" exclude="" /> 
+    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" />
+    <file src="DotNetPackageIcon.png" target="Icon.png" />
+    <file src="LICENSE.TXT" target="LICENSE.TXT" />
+    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" />
   </files>
 </package>
\ No newline at end of file
diff --git "a/E:\\diffs\\oldNuspecs\\/System.IO.Packaging.nuspec" "b/E:\\diffs\\NewNuspecs\\/System.IO.Packaging.nuspec"
index 3af87f1d23f..915d4d80645 100644
--- "a/E:\\diffs\\oldNuspecs\\/System.IO.Packaging.nuspec"
+++ "b/E:\\diffs\\NewNuspecs\\/System.IO.Packaging.nuspec"
@@ -1,16 +1,13 @@
 <?xml version="1.0" encoding="utf-8"?>
-<package xmlns="http://schemas.microsoft.com/packaging/2013/01/nuspec.xsd">
-  <metadata minClientVersion="2.12">
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
     <id>System.IO.Packaging</id>
     <version>6.0.0-dev</version>
-    <title>System.IO.Packaging</title>
     <authors>Microsoft</authors>
-    <owners>microsoft,dotnetframework</owners>
-    <requireLicenseAcceptance>false</requireLicenseAcceptance>
     <license type="expression">MIT</license>
+    <licenseUrl>https://licenses.nuget.org/MIT</licenseUrl>
     <icon>Icon.png</icon>
     <projectUrl>https://dot.net/</projectUrl>
-    <iconUrl>http://go.microsoft.com/fwlink/?LinkID=288859</iconUrl>
     <description>Provides classes that support storage of multiple data objects in a single container.</description>
     <releaseNotes>https://go.microsoft.com/fwlink/?LinkID=799421</releaseNotes>
     <copyright>© Microsoft Corporation. All rights reserved.</copyright>
@@ -18,43 +15,32 @@
     <repository type="git" url="https://github.com/dotnet/runtime" commit="0000000000000000000000000000000000000000" />
     <dependencies>
       <group targetFramework=".NETFramework4.6.1" />
-      <group targetFramework=".NETCoreApp6.0" />
+      <group targetFramework="net6.0" />
       <group targetFramework=".NETStandard2.0" />
     </dependencies>
     <frameworkAssemblies>
-      <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6.1" />
       <frameworkAssembly assemblyName="WindowsBase" targetFramework=".NETFramework4.6.1" />
     </frameworkAssemblies>
   </metadata>
   <files>
-    <file src="System.IO.Packaging\net461-Debug\System.IO.Packaging.dll" target="lib\net461" exclude="" />
-    <file src="System.IO.Packaging\net461-Debug\System.IO.Packaging.pdb" target="lib\net461" exclude="" />
-    <file src="System.IO.Packaging.xml" target="lib\net461" exclude="" />
+    <file src="System.IO.Packaging\net461-Debug\System.IO.Packaging.dll" target="lib\net461\System.IO.Packaging.dll" />
+    <file src="System.IO.Packaging\net461-Debug\System.IO.Packaging.pdb" target="lib\net461\System.IO.Packaging.pdb" />
+    <file src="System.IO.Packaging.xml" target="lib\net461\System.IO.Packaging.xml" />
     
-    <file src="System.IO.Packaging\net6.0-Debug\System.IO.Packaging.dll" target="lib\net6.0" exclude="" />
-    <file src="System.IO.Packaging\net6.0-Debug\System.IO.Packaging.pdb" target="lib\net6.0" exclude="" />
-    <file src="System.IO.Packaging.xml" target="lib\net6.0" exclude="" />
+    <file src="System.IO.Packaging\net6.0-Debug\System.IO.Packaging.dll" target="lib\net6.0\System.IO.Packaging.dll" />
+    <file src="System.IO.Packaging\net6.0-Debug\System.IO.Packaging.pdb" target="lib\net6.0\System.IO.Packaging.pdb" />
+    <file src="System.IO.Packaging.xml" target="lib\net6.0\System.IO.Packaging.xml" />
     
-    <file src="System.IO.Packaging\netstandard2.0-Debug\System.IO.Packaging.dll" target="lib\netstandard2.0" exclude="" />
-    <file src="System.IO.Packaging\netstandard2.0-Debug\System.IO.Packaging.pdb" target="lib\netstandard2.0" exclude="" />
-    <file src="System.IO.Packaging.xml" target="lib\netstandard2.0" exclude="" />
+    <file src="System.IO.Packaging\netstandard2.0-Debug\System.IO.Packaging.dll" target="lib\netstandard2.0\System.IO.Packaging.dll" />
+    <file src="System.IO.Packaging\netstandard2.0-Debug\System.IO.Packaging.pdb" target="lib\netstandard2.0\System.IO.Packaging.pdb" />
+    <file src="System.IO.Packaging.xml" target="lib\netstandard2.0\System.IO.Packaging.xml" />
     
-    <file src="System.IO.Packaging\ref\net461-Debug\System.IO.Packaging.dll" target="ref\net461" exclude="" />
-    <file src="System.IO.Packaging\ref\net461-Debug\System.IO.Packaging.pdb" target="ref\net461" exclude="" />
-    <file src="System.IO.Packaging.xml" target="ref\net461" exclude="" />
-    <file src="System.IO.Packaging\ref\net6.0-Debug\System.IO.Packaging.dll" target="ref\net6.0" exclude="" />
-    <file src="System.IO.Packaging\ref\net6.0-Debug\System.IO.Packaging.pdb" target="ref\net6.0" exclude="" />
-    <file src="System.IO.Packaging.xml" target="ref\net6.0" exclude="" />
-    <file src="System.IO.Packaging\ref\netstandard2.0-Debug\System.IO.Packaging.dll" target="ref\netstandard2.0" exclude="" />
-    <file src="System.IO.Packaging\ref\netstandard2.0-Debug\System.IO.Packaging.pdb" target="ref\netstandard2.0" exclude="" />
-    <file src="System.IO.Packaging.xml" target="ref\netstandard2.0" exclude="" />
+    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" />
+    <file src="DotNetPackageIcon.png" target="Icon.png" />
+    <file src="LICENSE.TXT" target="LICENSE.TXT" />
+    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" />
     
-    <file src="eng\useSharedDesignerContext.txt" target="useSharedDesignerContext.txt" exclude="" />
-    <file src="DotNetPackageIcon.png" target="Icon.png" exclude="" />
-    <file src="LICENSE.TXT" target="LICENSE.TXT" exclude="" />
-    <file src="THIRD-PARTY-NOTICES.TXT" target="THIRD-PARTY-NOTICES.TXT" exclude="" />
-    
-    <file src="artifacts\obj\System.IO.Packaging\netstandardcompaterrors\netcoreapp2.0\System.IO.Packaging.targets" target="buildTransitive\netcoreapp2.0" exclude="" />
-    <file src="C:\Users\anagniho\.nuget\packages\microsoft.dotnet.build.tasks.packaging\6.0.0-beta.21330.2\build\content\_._" target="buildTransitive\netcoreapp3.1" exclude="" />
+    <file src="artifacts\obj\System.IO.Packaging\netstandardcompaterrors\netcoreapp2.0\System.IO.Packaging.targets" target="buildTransitive\netcoreapp2.0\System.IO.Packaging.targets" />
+    <file src="eng\_._" target="buildTransitive\netcoreapp3.1\_._" />
   </files>
 </package>
\ No newline at end of file

added diffs

eng/references.targets Outdated Show resolved Hide resolved
abc.diff Outdated Show resolved Hide resolved
add comment

automate adding of trimming inbox dependencies for .net

remove is packable

Apply suggestions from code review

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>

fix the all config build

add support to use oob version of inbox dependencies
Condition="$(NetCoreAppLibrary.Contains('%(Filename);'))" />
<ProjectReference PrivateAssets="all"
Private="false"
Condition="$(NetCoreAppLibrary.Contains('%(Filename);')) and '%(ProjectReference.DonotUseInboxVersion)' != 'true'" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small nit: DonotUseInboxVersion might be easier to read if we name it DontUseInboxVersion

@@ -29,8 +29,8 @@
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.Options\src\Microsoft.Extensions.Options.csproj" />
<ProjectReference Include="$(LibrariesProjectRoot)Microsoft.Extensions.Primitives\src\Microsoft.Extensions.Primitives.csproj" />
<!-- Application tfms (.NETCoreApp, .NETFramework) need to use the same or higher version of .NETStandard's dependencies. -->
<ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.CompilerServices.Unsafe\src\System.Runtime.CompilerServices.Unsafe.ilproj" />
<ProjectReference Include="$(LibrariesProjectRoot)System.Text.Json\src\System.Text.Json.csproj" />
<ProjectReference Include="$(LibrariesProjectRoot)System.Runtime.CompilerServices.Unsafe\src\System.Runtime.CompilerServices.Unsafe.ilproj" DonotUseInboxVersion="true" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to calculate when to use inbox version and when to not? What is the guideline for when to set this and when to not?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you need DonotUseInboxVersion?

<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- These types are forwarded on net461 https://github.com/dotnet/sdk/issues/18203-->
<Suppression>
<DiagnosticId>CP0001</DiagnosticId>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we instead use the global suppression? Rather than listing every forwarded type on net461, instead set one entry with the DiagnosticId and the left and right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that doesn't work, maybe we should support it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can now simplify these as we have updated the validation to include: dotnet/sdk#19123

@ViktorHofer
Copy link
Member

Added the necessary infra to trim out inbox dependencies which aren't packable. Thanks @ericstj for the help. Let's see if that already works.

Private="false"
Condition="$(NetCoreAppLibrary.Contains('%(Filename);'))" />
<_noPackageNetCoreAppLibrary Include="@(NetCoreAppLibrary)"
Condition="'%(NetCoreAppLibrary.IsPackable)' != 'true'" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the only consumer of this metadata is as a list without IsPackable, perhaps we can just store it that way and avoid the metadata? IOW we have NoPackageNetCoreAppLibrary item statically defined instead of calculated in this target.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer metadata over a separate list. Please check my latest changes in which I removed the target entirely in favor of static evaluation.

@ViktorHofer
Copy link
Member

I don't understand why S.R.CompilerServices.Unsafe.pdb is causing a conflict during publish:

.dotnet/sdk/6.0.100-preview.5.21302.13/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.ConflictResolution.targets(108,5): error NETSDK1152: (NETCORE_ENGINEERING_TELEMETRY=Build) Found multiple publish output files with the same relative path: /__w/1/s/artifacts/bin/System.Runtime.CompilerServices.Unsafe/net6.0-Release/System.Runtime.CompilerServices.Unsafe.pdb, /__w/1/s/artifacts/bin/microsoft.netcore.app.runtime.browser-wasm/Release/runtimes/browser-wasm/lib/net6.0/System.Runtime.CompilerServices.Unsafe.pdb.

I would expect that conflict resolution would trim out the first pdb in favor of the second as that one comes via the runtime pack.

@ericstj any ideas? Here's the binlog: https://dev.azure.com/dnceng/_apis/resources/Containers/7744321/Logs_Build_Browser__wasm_Release_AllSubsets_Mono_WasmBuildTests?itemPath=Logs_Build_Browser__wasm_Release_AllSubsets_Mono_WasmBuildTests%2FRelease%2FBuild.binlog.

@ericstj
Copy link
Member

ericstj commented Jul 30, 2021

I would expect that conflict resolution would trim out the first pdb in favor of the second as that one comes via the runtime pack.

Conflict resolution doesn't look at ProjectReference output dotnet/sdk#2674. This is related. It looks like RAR is the one discovering the PDB:

Primary reference "System.Runtime.CompilerServices.Unsafe, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
    Resolved file path is "/__w/1/s/artifacts/bin/System.Runtime.CompilerServices.Unsafe/net6.0-Release/System.Runtime.CompilerServices.Unsafe.dll".
    Reference found at search path location "/__w/1/s/artifacts/bin/System.Runtime.CompilerServices.Unsafe/net6.0-Release/System.Runtime.CompilerServices.Unsafe.dll".
    Found related file "/__w/1/s/artifacts/bin/System.Runtime.CompilerServices.Unsafe/net6.0-Release/System.Runtime.CompilerServices.Unsafe.pdb".
    The ImageRuntimeVersion for this reference is "".

Then it gets added to ReferenceCopyLocalPaths along with the DLL since it comes from a ProjectReference, however ReferenceCopyLocalPaths was already conflict resolved by _HandlePackageFileConflicts before RAR, so it does not remove this . Later on _HandlePackageFileConflictsForPublish runs but for some reason it looks like this isn't considering ReferenceCopyLocalPaths. That seems wrong, since it used to handle this https://github.com/dotnet/sdk/blob/84706598659a625b1ffaaea6665f22f4ce789433/src/Tasks/Microsoft.NET.Build.Tasks/build/Microsoft.NET.Publish.targets#L229

The binlog shows the _ComputeResolvedCopyLocalPublishAssets target running after _HandlePackageFileConflictsForPublish and appending to the input to conflict resolution _ResolvedCopyLocalPublishAssets. This is a bug. Conflict resolution should be seeing all the files that get copied to the output in order to do its job. I think something is broken in the Target sequencing that is causing _ComputeResolvedCopyLocalPublishAssets to run after _HandlePackageFileConflictsForPublish, I see the same thing happening in a normal file-new-project-app. @dsplaisted

@ViktorHofer
Copy link
Member

Great analysis @ericstj. You might want to open an issue in dotnet/sdk and write down the current target sequence and the desired one?

Apart from that, to get this PR in soon, do you know of a workaround?

Copy link
Contributor Author

@Anipik Anipik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@Anipik Anipik closed this Aug 6, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2021
@Anipik Anipik deleted the io branch November 10, 2021 18:58
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants