Microsoft.xmlserializer.generator Nuget Package и .net FrameworkC#

Место общения программистов C#
Ответить
Anonymous
 Microsoft.xmlserializer.generator Nuget Package и .net Framework

Сообщение Anonymous »

У меня есть проект .NET Framework, который должен быть создан Project.xmlSerializers.dll. Он использовал формат файла CSPROJ старого стиля, и я преобразовал в новый проект в стиле SDK. Затем я добавил соответствующий инструмент NUGET и CLI, используемый для генерации проекта.xmlSerializers.dll: < /p>

Код: Выделить всё

    



< /code>
Это работает нормально, и мой project.xmlserializer.dll правильно сгенерирован в каталоге бина. 4.8: < /p>
    net48
Теперь я dotnet pack myproject.csproj и создать мой файл nupkg для этой библиотеки. Я проверяю содержимое .nuspec в моем проекте: < /p>

Код: Выделить всё

      


< /code>
ОК, это нормально. Я думал, что Microsoft.xmlSerializer.Generator был просто зависимостью от сборки, но я буду продолжать. Я также проверяю папку lib/net48 
в пакете Nuget, и она действительно содержит myproject.xmlserializers.dll.
Я создаю новое приложение консоли .net 4.8 и Он использует классический стиль .csproj (я не могу предположить, что потребители будут использовать новый проект в стиле SDK). Затем я добавляю свой пакет Nuget в это новое приложение консоли. Это идет нормально. Затем я строю, и я получаю предупреждение: < /p>
1>------ Build started: Project: ConsoleApp28, Configuration: Debug Any CPU ------
1> ConsoleApp28 -> C:\Users\me\source\repos\ConsoleApp28\bin\Debug\ConsoleApp28.exe
1> Possible reasons for this include:
1> * You misspelled a built-in dotnet command.
1> * You intended to execute a .NET program, but dotnet-Microsoft.XmlSerializer.Generator does not exist.
1> Could not execute because the specified command or file was not found.
1> * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
1>C:\Users\me\source\repos\ConsoleApp28\packages\Microsoft.XmlSerializer.Generator.9.0.1\build\Microsoft.XmlSerializer.Generator.targets(51,5): warning MSB3073: The command "dotnet Microsoft.XmlSerializer.Generator "obj\Debug\ConsoleApp28.exe" --force --quiet obj\Debug\sgen.rsp" exited with code 1.
1>C:\Users\me\source\repos\ConsoleApp28\packages\Microsoft.XmlSerializer.Generator.9.0.1\build\Microsoft.XmlSerializer.Generator.targets(52,5): warning : SGEN: Failed to generate the serializer for ConsoleApp28.exe. Please follow the instructions at https://go.microsoft.com/fwlink/?linkid=858594 and try again.
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
< /code>
Мой каталог Bin моего нового приложения консоли содержит myproject.xmlserializers.dll, так что это здорово. Но почему предупреждение? Затем я ушел и удалил эту зависимость от microsoft.xmlserializer.generator непосредственно из файла .nuspec и воссоздал пакет Nuget, потому что сериалы уже были созданы. Теперь я не получаю предупреждение о сборке ... < /p>
Итак, есть ли способ сделать этот пакет Nuget как -то просто зависимостью от сборки, если бы он не был включен в сам пакет Nuget? Когда я смотрю на nuget.org для этого пакета microsoft.xmlserializer.generator, я вижу, что не так много пакетов, по -видимому, включают его:
https://www.nuget.org/packages/microsof ... .generator# ИСПОЛЬЗУЕТСЯ БАД-ТАБЕТА
Но я просто следую инструкциям здесь:
https://go.microsoft.com/fwlink/?linkid = 858594
Заранее!

Подробнее здесь: https://stackoverflow.com/questions/794 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»