Мой c # visual studio проект генерирует слишком много DLL-файлов при компиляции - PullRequest
6 голосов
/ 18 июня 2019

У меня есть визуальный студийный проект форм побед, который работает правильно.Когда я компилирую этот проект для создания файла релиза, я вижу, что у меня сгенерировано 30 dll.Эти dll файлы в основном системные dll, поэтому я думаю, что эти файлы мне не нужны.Если я удаляю эти файлы, мое приложение продолжает работать правильно, но я не знаю, как сказать визуальной студии, пожалуйста, не создавайте эти файлы.Кто-нибудь знает, как я могу настроить свой проект, чтобы избежать создания всех этих файлов?Моя выходная версия выглядит следующим образом:

enter image description here

Я знаю, что мне нужны некоторые файлы, но не системные.Это мой проект недвижимости:

enter image description here

Если я посмотрю на MSBuilder, чтобы проанализировать, что происходит, я увижу следующее:

enter image description here

enter image description here

Я не вижу, какая это библиотека.Что я должен делать прямо сейчас?

1 Ответ

9 голосов
/ 18 июня 2019

Добро пожаловать в ад .NET Standard DLL.

Вы нацелены на полную версию .NET Framework, но вы установили пакет NuGet, который зависит от .NET Standard, что заставляет MSBuild извлекать фасады в сборе из своего установочного каталога в Program Files.

Найдите пакет, который (косвенно) зависит от .NET Standard, и обновите или обновите его до версии, которая не.

Для анализа: создайте бинлог вашей сборки и открыть файл журнала , поискать _DependsOnNetStandard.Затем вы найдете библиотеки, которые это сделают, и смогут оттуда обработать дерево зависимостей.

Некоторые пакеты утверждают, что поддерживают .NET Framework 4.x, но на самом деле содержат только каталог netstandard11 в своих lib.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...