Проект C# со ссылкой на пакет на nuget со сборкой exeC#

Место общения программистов C#
Ответить
Anonymous
 Проект C# со ссылкой на пакет на nuget со сборкой exe

Сообщение Anonymous »

Я знаю, что на заре .NET Framework вы могли построить сборку в EXE, а затем использовать эту «сборку EXE» в качестве зависимости от другой сборки .NET Framework, которая тоже могла быть, например, «сборкой EXE».
Примерно десятилетие спустя появились пакеты NuGet, и люди перешли с .NET Framework на .NET Core, а сегодня — на .NET 8, 9 или даже 10...
Мои вопросы:
  • Можно ли создать и опубликовать пакет NuGet всего с одной сборкой, внутри которой, однако, будет выходной тип EXE?
  • И затем, возможно ли создать другой проект C# с зависимостью от этого пакета NuGet и фактически от этой EXE-сборки в нем?
Я использую .NET Core (.NET 8 или 9) в Linux, и кажется, что я не могу собрать зависимый проект, если не принимаю странные предупреждения компилятора, такие как:

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

Warning MSB3246 : Resolved file has a bad image, no metadata, or is otherwise inaccessible. PE image does not have metadata. PE image does not have metadata.
Warning MSB3243 : No way to resolve conflict between "MyCompany.MyNugetPackage, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" and "MyCompany.MyNugetPackage". Choosing "MyCompany.MyNugetPackage, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" arbitrarily.
Мне кажется, что сборке без предупреждений мешает тот факт, что в этом пакете NuGet есть два «похожих» файла: Информация о сборке (версия, культура и т. д.) содержится только в файле DLL, тогда как файл EXE фактически не распознается как сборка (по крайней мере, инструментом ILDasm). Тем не менее, я подозреваю, что MSBuild (или что-то еще, что собирает мой проект) не может определить, какой из двух файлов использовать в процессе сборки.
Есть идеи?

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

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

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

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

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

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