У меня есть простая Dll, в которой я определил такой класс:
public class Parameters
{
public string Message { get; set; }
}
Я добавил пакет NuGet Newtonsoft.Json
.
Эта DLL ДОЛЖНА использоваться приложениями netcoreapp1.1 и net462.
Я попытался изменить csproj и добавил это
<TargetFramework>netstandard1.5</TargetFramework>
Если я запускаю сборку dotnet, dll была успешно собрана, но я не могу использовать DLL ни из приложения netcore, ни из net462.
В частности, если я добавляю тест xUnit
и ссылаюсь на класс внутри DLL, возникает ошибка:
System.IO.FileLoadException
: Не удалось загрузить файл или сборку «System.Runtime, версия = 4.1.0.0 [..]
Кто-нибудь может объяснить мне, как работают целевые фреймворки net462
, netcoreapp
и netstandard1.5
? А как построить кросс-фреймворк dll?
ОБНОВЛЕНИЕ
Чтобы найти связанную сборку, необходимо добавить приведенный ниже код в xunit .csproj.
<OutputType>Exe</OutputType>