Как перекомпилировать С# библиотеку под другую версию .NET?
Мне нужно скачать библиотеку с NuGet, но я получаю ошибку
Не удалось установить пакет «SharpFont.Dependencies 2.5.5». Вы пытаетесь установить этот пакет в проект, требуемая версия платформы которого — «.NETFramework,Version=v4.7.2», но в пакете нет ссылок на сборки или файлов содержимого, совместимых с этой платформой.
Есть ссылка на её github. Я скачал библиотеку, поменял версию на 4.7.2. Нажимаю пересобрать решение, но получаю ошибки:
Ошибка CS0006 Не удалось найти файл метаданных "C:\Users\UserName\Desktop\SharpFont-master\Source\SharpFont.GDI\bin\Debug\SharpFont.Gdi.dll".
Ошибка CS0227 Небезопасный код может использоваться только при компиляции с параметром /unsafe. SharpFont.Gdi C:\Users\UserName\Desktop\SharpFont-master\Source\SharpFont.GDI\FTBitmapExtensions.cs
Ответы (1 шт):
Ошибка CS0006 Не удалось найти файл метаданных C:\Users\UserName\Desktop\SharpFont-master\Source\SharpFont.GDI\bin\Debug\SharpFont.Gdi.dll
Ошибка CS0227 Небезопасный код может использоваться только при компиляции с параметром /unsafe. SharpFont.Gdi C:\Users\UserName\Desktop\SharpFont-master\Source\SharpFont.GDI\FTBitmapExtensions.cs
В SharpFont.Gdi.csproj не определена опция AllowUnsafeBlocks для Debug конфигурации, которая разрешает компиляцию Unsafe кода. Для Release определение есть:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
Включите опцию для других конфигураций.
Можно попробовать привести .csproj файлы к .NET.Sdk виду и свести кол-во определений к минимуму и одной строкой определить под какие версии фреймворка собирать проект:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net45;net462;net472</TargetFrameworks>
</PropertyGroup>
</Project>