Visual Studio 2017 копирует слишком много файлов при использовании стандартной библиотеки .net

#c# #visual-studio

#c# #visual-studio

Вопрос:

У меня есть два проекта:

  1. TestStandardLib (основан на .Net Standard 2.0, для использования в .Net Framework, .Net Core, Xamarin …)
  2. TestMain (основан на .Net Framework 4.6, просто для тестирования)

если я ссылаюсь на project TestStandardLib в TestMain, результатом компиляции будет более 100 файлов:

TestMain.exe

TestStandardLib.dll

System.Runtime.*.dll

Система.Многопоточность.*.dll

Но я думаю, что мне нужно всего 2 файла:

TestMain.exe и TestStandardLib.dll

потому что я думаю, что .Net Framework 4.6 должен был включать относительную библиотеку dll .net standard. И я проверяю, что если я удалю другие 100 файлов, останутся только TestMain.exe и TestStandardLib.dll все работает нормально!

Как это решить?

Комментарии:

1. То, что вы думаете, далеко от истины, и «это работает нормально» — всего лишь иллюзия. Рик написал обо всех возможных деталях, которые вам нужны, а в разделе «LibGit2Sharp вернул цель 4.6» рассказывается о реальном решении, weblog.west-wind.com/posts/2019/Feb/19 /…

2. Спасибо за вашу большую помощь! Эта статья действительно то, что я хочу. И теперь мне ясна причина и решение. Еще раз спасибо!

Ответ №1:

Очистите выходную папку

Затем разверните узел ссылки, выберите сборку, проверьте окно свойств.

Локальное свойство Copy должно иметь значение False.

copy-local-false