Поиск сборок для приложения Universal или .NET Core

#.net-core #windows-10-universal

#.net-core #windows-10-universal

Вопрос:

Когда я создаю новое универсальное приложение (с VS 2017), я вижу «Microsoft.NETCore.UniversalWindowsPlatform» в качестве ссылки. Кажется, это просто означает, что подразумевается множество реальных сборок (я вижу System.AppContext.dll Система.Коллекции.dll и многие другие в папке project binx86Debug после сборки проекта).

  1. Существуют ли эти файлы где-то на моем компьютере и скопированы ли они в папку bin при сборке? Или они загружаются через Nuget при сборке? (Я знаю, что это не обычные файлы .NET Framework в обычных расположениях .NET Framework).

  2. Как мне узнать, какие сборки подразумеваются под «Microsoft.NETCore.UniversalWindowsPlatform» без фактической сборки? (Visual Studio должна откуда-то получить эту информацию, поскольку она знает, что добавлять в папку bin).

  3. Если вы хотите поразмышлять над этими сборками для конкретного проекта (например, как часть процесса рефакторинга кода) без фактической сборки проекта, где бы вы нашли эти сборки?

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

1. Например, на моем компьютере они находятся в ProgramFiles / ReferenceAssemblies / Microsoft и т.д. Попробуйте проверить это местоположение, чтобы мы могли помочь вам ответить на ваш вопрос

2. @AntoniosKatopodis: Нет — единственное, что у меня есть, это старые сборки framework 3 и 3.5.

Ответ №1:

  1. Целевая платформа UAP (ранее netcore50) (https://learn.microsoft.com/es-es/dotnet/standard/frameworks ) он находится в ‘C:Program Файлы (x86) Microsoft SDKsNETCoreSDK

  2. Вы можете взглянуть на файл nuget ‘C:Program Файлы (x86) Microsoft SDKsNETCoreSDKMicrosoft.NETCore.UniversalWindowsPlatform5.0.0Microsoft.NETCore.UniversalWindowsPlatform.nuspec‘ и посмотреть его зависимости или использовать nuget.org (https://www.nuget.org/packages/Microsoft.NETCore .UniversalWindowsPlatform/)

  3. Большинство его зависимостей расположены в той же папке (C:Program Files (x86) Microsoft SDKs NETCoreSDK), чтобы вы могли взглянуть на библиотеки DLL (например C:Program Файлы (x86) Microsoft SDKsNETCoreSDKSystem.Коллекции.Неизменяемый1.1.37lib dotnetSystem.Коллекции.Immutable.dll )

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

1. Спасибо за попытку, но у меня нет папки NETCoreSDK в Microsoft SDKs. Я использую VS 2017 — похоже, Microsoft не размещает их в одном надежном месте поверх разных версий VS?

2. Мой текущий обходной путь заключается в том, чтобы найти все библиотеки DLL в папке bin x86 Debug и поразмышлять над ними (или bin x64 Debug или bin ARM Debug, в зависимости от того, где я их нахожу), но это означает, что проект должен быть скомпилирован, чтобы библиотеки DLL были там. Я не рад, что Microsoft решила сделать это очень неясным. Раньше вы могли просто прочитать их из файла проекта.

3. У вас нет ./Microsoft SDKs/NuGetPackages/Microsoft.NETCore. UniversalWindowsPlatform / под Microsoft SDK?

4. Да — у меня есть эта папка — содержит ли она необходимую мне информацию?

5. Есть ли у вас внутри папка UWPNuGetPackages?