Я нахожусь на Linux ( elementaryOS , на основе Ubuntu) и у меня установлены .NET Core (3.0.100) и Mono (6.4.0.198). Для разработки на C # я использую VS Code с расширением Omnisharp . Я пытаюсь построить пример проекта , используя Xamarin.Forms.
Моя проблема в том, что, хотя я могу успешно построить проект с Mono, Omnisharp жалуетсяоб отсутствующей ссылке Xamarin.Forms:
The type or namespace name 'Forms' does not exist in the namespace 'Xamarin' (are you missing an assembly reference?) (CS0234)
Я проверил это, и оно включено в .csproj
:
<ItemGroup>
<PackageReference Include="Xamarin.Forms" Version="4.2.0.709249" />
</ItemGroup>
Я подозреваю, что, возможно, Omnisharp пытается связаться с.NET Core вместо моно. (Так как мне нужно нацелиться на версию .NET Framework, я должен собрать ее с помощью Mono.) Вот как я собираю проект с помощью Mono:
$ nuget restore
$ cd GameOfLife/GameOfLife
$ msbuild
$ cd ../GameOfLife.Android
$ msbuild /t:Build,Install
Я знаю, что не могу собратьпроект с .NET Core, но я попытался по крайней мере получить пакеты nuget:
$ dotnet restore
→ ./GameOfLife/GameOfLife/GameOfLife.Android/GameOfLife.Android.csproj :
warning NU1503: Skipping restore for project './GameOfLife/GameOfLife
/GameOfLife.Android/GameOfLife.Android.csproj'. The project file may be
invalid or missing targets required for restore. [./GameOfLife/GameOfLife.sln]
$ cd GameOfLife/GameOfLife.Android
$ dotnet restore
→ (nothing happened)
$ dotnet add GameOfLife.Android.csproj package Xamarin.Forms
→ ./GameOfLife/GameOfLife/GameOfLife.Android/GameOfLife.Android.csproj(85,3):
error MSB4019: The imported project "/usr/share/dotnet/sdk/3.0.100/Xamarin
/Android/Xamarin.Android.CSharp.targets" was not found. Confirm that the path
in the <Import> declaration is correct, and that the file exists on disk.
→ Unable to create dependency graph file for project 'GameOfLife.Android.csproj'.
Cannot add package reference.
Последняя ошибка означает, что Xamarin.Android установлен только для Mono ( невозможно установить егодля .NET Core), но я не знаю, блокирует ли это установку Xamarin.Forms или это просто связанная с этим ошибка.