C# 更改我的Xamarin GTK应用程序的.NET framework版本后出现错误CS0234

C# 更改我的Xamarin GTK应用程序的.NET framework版本后出现错误CS0234,c#,xamarin,mono,gtk#,C#,Xamarin,Mono,Gtk#,完整错误消息: 错误CS0234:命名空间“Xamarin.Forms.Platform”中不存在类型或命名空间名称“GTK”(是否缺少程序集引用?) 这发生在Program.cs中的这一行: using Xamarin.Forms.Platform.GTK; 我之所以必须更改.NET framework版本,是因为我试图在Linux上运行该应用程序,而Mono for Linux似乎不支持.NET framework v4.7.2,所以我将其更改为4.6.1(Xamarin所需的最低版本)

完整错误消息:

错误CS0234:命名空间“Xamarin.Forms.Platform”中不存在类型或命名空间名称“GTK”(是否缺少程序集引用?)

这发生在Program.cs中的这一行:

using Xamarin.Forms.Platform.GTK;
我之所以必须更改.NET framework版本,是因为我试图在Linux上运行该应用程序,而Mono for Linux似乎不支持.NET framework v4.7.2,所以我将其更改为4.6.1(Xamarin所需的最低版本)

奇怪的是,如果我打开有问题的文件,Visual Studio会说没有错误,但当我实际尝试构建项目时,错误仍然会在输出窗口中弹出

编辑:输出窗口中的错误上方有一些警告,以下是第一个警告:

1> C:\Program Files(x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2106,5):警告MSB3274:无法解析主引用“Xamarin.Forms.Platform.GTK,Version=2.0.0.0,Culture=neutral,processorArchitecture=MSIL”,因为它是根据“.NETFramework,Version=v4.7”生成的框架这是一个比当前目标框架“.NETFramework,version=v4.6.1”更高的版本

看起来我需要更新我的nuget软件包,所以我重新安装了两个Xamarin软件包(Xamarin.Forms和Xamarin.Forms.Platform.GTK),然后。。。同样的警告!为什么nuget无法获取与我正在使用的.NET版本兼容的软件包版本

编辑:我尝试更改.NET framework版本的原因是在Linux上运行Xamarin应用程序时出现以下错误:

未处理的异常: System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,版本=4.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。 文件名:“System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a” [错误]致命的未处理异常:System.IO.FileNotFoundException:无法加载文件或程序集'System.Runtime,版本=4.0.0.0,区域性=中性,PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。 文件名:“System.Runtime,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”


检查“输出”窗口中肯定还会出现其他错误删除并重新安装GTK软件包、删除bin/obj文件夹、重新启动VS、重建bin和job以及重新启动Visual Studio都没有帮助。我在错误上面看到了一些警告,我将在我的操作中通过。尽管如此。但是,为什么你声称mono不支持.NET4.7?它说它在其上是兼容的。