Есть ли инструмент или скрипт, который может извлекать библиотеки и их лицензии в одном файле?
Вход: корневая исходная папка
C:\src\project_bananna
Вывод: текстовый файл, возможно, в формате csv.
+----------------------------+-----------+--------- ----+ | NuGet-пакет | Версия | Лицензии | +----------------------------+-----------+--------- ----+ | JQuery | 1.4 | Лицензия Массачусетского технологического института | | Json.NET | 7 | Лицензия Массачусетского технологического института | | ... | ... | ... | +----------------------------+-----------+--------- ----+
Это все, что я смог получить с помощью Package Manager Console .
Консоль диспетчера пакетов — это консоль PowerShell в Visual Studio, используемая для взаимодействия с NuGet и автоматизации Visual Studio.
Единственная проблема заключается в том, что из того, что я видел, нет (простого) способа получить желаемый тип лицензии, только URL-адрес лицензии . В любом случае, это дает вам представление о том, с чего начать, и может быть достаточным для вашей цели.
Я использовал командлет Get-Package : откройте консоль диспетчера пакетов и введите следующее, заменив OUTPUT_CSV путем и именем выходного CSV-файла, который вы хотите создать:
Get-Package | Select-Object Id,Version,LicenseUrl | Export-Csv OUTPUT_CSV -NoTypeInformation
Я протестировал его со своим случайным проектом, и это содержимое выходного CSV-файла:
"Id","Version","LicenseUrl"
"Google.Apis","1.9.1","http://www.apache.org/licenses/LICENSE-2.0"
"Google.Apis.Auth","1.9.0","http://www.apache.org/licenses/LICENSE-2.0"
"Google.Apis.Core","1.9.1","http://www.apache.org/licenses/LICENSE-2.0"
"Google.Apis.YouTube.v3","1.9.0.1360","http://www.apache.org/licenses/LICENSE-2.0"
"log4net","2.0.3","http://logging.apache.org/log4net/license.html"
"Microsoft.Bcl","1.1.9","http://go.microsoft.com/fwlink/?LinkId=329770"
"Microsoft.Bcl.Async","1.0.168","http://go.microsoft.com/fwlink/?LinkId=329770"
"Microsoft.Bcl.Build","1.0.14","http://go.microsoft.com/fwlink/?LinkId=329770"
"Microsoft.Net.Http","2.2.28","http://go.microsoft.com/fwlink/?LinkId=329770"
"Newtonsoft.Json","6.0.8","https://raw.github.com/JamesNK/Newtonsoft.Json/master/LICENSE.md"
"Zlib.Portable","1.10.0","http://en.wikipedia.org/wiki/Zlib_License"