I've created a new .NET Standard 2.0 project and added the following class:
using System;
using System.Xml.Serialization;
namespace MyFunnyLib
{
[Serializable]
public class Foo
{
[XmlElement]
public string Bar { get; set; }
}
}
My .csproj file looks like this:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<GenerateSerializationAssemblies>On</GenerateSerializationAssemblies>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
<PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0"/>
</ItemGroup>
</Project>
When I compile the project, I get the following output:
Build started at 16:15...
1>------ Build started: Project: MyFunnyLib, Configuration: Debug Any CPU ------
1>MyFunnyLib -> C:\Users\MyUserName\source\repos\MyFunnyLib\MyFunnyLib\bin\Debug\netstandard2.0\MyFunnyLib.dll
1>.NET Xml Serialization Generation Utility, Version 8.0.0]
1>Serialization Code File Name: C:\Users\MyUserName\source\repos\MyFunnyLib\MyFunnyLib\obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs.
1>Generated serialization code for assembly C:\Users\MyUserName\source\repos\MyFunnyLib\MyFunnyLib\obj\Debug\netstandard2.0\MyFunnyLib.dll --> 'C:\Users\MyUserName\source\repos\MyFunnyLib\MyFunnyLib\obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs'.
1>obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs(122,20): warning CS0234: The type or namespace name 'Span<>' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs(122,44): warning CS0518: Predefined type 'System.Span`1' is not defined or imported
1>obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs(171,20): warning CS0234: The type or namespace name 'Span<>' does not exist in the namespace 'System' (are you missing an assembly reference?)
1>obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.cs(171,44): warning CS0518: Predefined type 'System.Span`1' is not defined or imported
1>C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\microsoft.xmlserializer.generator\8.0.0\build\Microsoft.XmlSerializer.Generator.targets(55,5): warning : SGEN: Failed to generate the serializer for MyFunnyLib.dll. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again.
1>.NET Xml Serialization Generation Utility, Version 8.0.0]
1>EXEC : warning : Ignoring invalid command line argument: 'obj\Debug\netstandard2.0"'..
1>The path is empty. (Parameter 'path')
1>C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\microsoft.xmlserializer.generator\8.0.0\build\Microsoft.XmlSerializer.Generator.targets(85,5): warning MSB3073: The command "dotnet Microsoft.XmlSerializer.Generator --force --quiet --reference "C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\microsoft.xmlserializer.generator\8.0.0\lib\netstandard2.0\dotnet-Microsoft.XmlSerializer.Generator.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\microsoft.csharp\4.0.1\ref\netstandard1.0\Microsoft.CSharp.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\Microsoft.Win32.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\mscorlib.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\netstandard.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\newtonsoft.json\9.0.1\lib\netstandard1.0\Newtonsoft.Json.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.AppContext.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.Concurrent.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.NonGeneric.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Collections.Specialized.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.Composition.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.EventBasedAsync.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ComponentModel.TypeConverter.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Console.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Core.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Data.Common.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Data.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Contracts.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Debug.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.FileVersionInfo.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Process.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.StackTrace.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.TextWriterTraceListener.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Tools.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.TraceSource.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Diagnostics.Tracing.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Drawing.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Drawing.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Dynamic.Runtime.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.Calendars.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Globalization.Extensions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.FileSystem.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Compression.ZipFile.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.DriveInfo.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.FileSystem.Watcher.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.IsolatedStorage.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.MemoryMappedFiles.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.Pipes.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.IO.UnmanagedMemoryStream.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Expressions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Parallel.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Linq.Queryable.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Http.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.NameResolution.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.NetworkInformation.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Ping.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Requests.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Security.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.Sockets.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebHeaderCollection.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebSockets.Client.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Net.WebSockets.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Numerics.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ObjectModel.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.Extensions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Reflection.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.Reader.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.ResourceManager.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Resources.Writer.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.CompilerServices.VisualC.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Extensions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Handles.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.InteropServices.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.InteropServices.RuntimeInformation.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Numerics.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Formatters.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Json.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Runtime.Serialization.Xml.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Claims.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Algorithms.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Csp.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Encoding.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.Primitives.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Cryptography.X509Certificates.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.Principal.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Security.SecureString.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ServiceModel.Web.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.Encoding.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.Encoding.Extensions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Text.RegularExpressions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Overlapped.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Tasks.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Tasks.Parallel.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Thread.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.ThreadPool.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Threading.Timer.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Transactions.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.ValueTuple.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Web.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Windows.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.Linq.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.ReaderWriter.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.Serialization.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XDocument.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XmlDocument.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XmlSerializer.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XPath.dll;C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\netstandard.library\2.0.3\build\netstandard2.0\ref\System.Xml.XPath.XDocument.dll" --assembly "" --type --out "obj\Debug\netstandard2.0\"" exited with code 1.
1>C:\Users\MyUserName\source\repos\MyFunnyLib\EXT\packages\microsoft.xmlserializer.generator\8.0.0\build\Microsoft.XmlSerializer.Generator.targets(86,5): warning : SGEN: Fail to generate obj\Debug\netstandard2.0\MyFunnyLib.XmlSerializers.dll.XmlSerializers'. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again.
1>Done building project "MyFunnyLib.csproj".
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Build completed at 16:15 and took 05,700 seconds ==========
I guess the problem is something with the call of the sgen with:
dotnet Microsoft.XmlSerializer.Generator --force --quiet --reference ...
At the ... above all files from the nuget-ext-directory are included. I only want the types serialized of my own assembly and not all others.
What am I doing wrong here?
I've already tried adding the following lines in the csproj like the docu said:
<PropertyGroup>
<SGenReferences>C:\Users\MyUserName\source\repos\MyFunnyLib\MyFunnyLib\bin\Debug\netstandard2.0\MyFunnyLib.dll</SGenReferences>
<SGenTypes>MyFunnyLib.Foo</SGenTypes>
<SGenProxyTypes>false</SGenProxyTypes>
<SGenVerbose>true</SGenVerbose>
</PropertyGroup>
I've tried the solution from @dbc, at it looked good in the first but I got a lot of runtime-exceptions while trying to serializer. So I build a small exampleproject where the problem can be reproduced.
Core.Types and Core.Validation are both .netStandard-Projects. The remaining projects are .net Framework.
- Core.Validation has a reference to Core.Types
- CommonInterface.Data has refrences to Core.Validation and Core.Types
- CommonInterface.Transfer has references to CommonInterface.Data and Core.Types
I want to generate the XmlSerializer.Dll fro the CommonInterface.Transfer-Assembly. I've tried the solution below with the following lines in the csproj:
<ItemGroup>
<PackageReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Memory" Version="4.5.4" Condition="'$(TargetFramework)'=='netstandard2.0'" />
<PackageReference Include="System.Memory" Version="4.5.4" Condition="'$(TargetFramework)'=='netstandard2.1'" />
</ItemGroup>
<ItemGroup>
<DotNetCliToolReference Include="Microsoft.XmlSerializer.Generator" Version="8.0.0" />
</ItemGroup>
When building I get the output:
4> CommonInterface.Transfer -> C:\Users\User1\repos\WpfApp3\bin\MyApp\CommonInterface.Transfer.dll
4> Version for package `Microsoft.XmlSerializer.Generator` could not be resolved.
4>C:\Users\User1\.nuget\packages\microsoft.xmlserializer.generator\8.0.0\build\Microsoft.XmlSerializer.Generator.targets(51,5): warning MSB3073: The command "dotnet Microsoft.XmlSerializer.Generator "obj\Debug\CommonInterface.Transfer.dll" --force --quiet obj\Debug\sgen.rsp" exited with code 1.
4>C:\Users\User1\.nuget\packages\microsoft.xmlserializer.generator\8.0.0\build\Microsoft.XmlSerializer.Generator.targets(52,5): warning : SGEN: Failed to generate the serializer for CommonInterface.Transfer.dll. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again.
