从Xamarin Forms PCL中删除ios,windows8和wp8 – nuget 3.0select进入错误?

我正在做一个Xamarin Forms项目。 我想定位Android和Windows 10 UWP。

当我尝试通过从PCL目标中删除“Windows 8”,“Windows Phone Silverlight 8”,“Windows Phone 8.1”,“Xamarin.ios”和“Xamarin.ios(classic)”来清理PCL时,下面的讨厌…

我真的只是试图删除WP8,因为我不关心它的目标。

该项目的目标不能改变。 选定的目标需要项目select进入NuGet 3.0支持,但Visual Studio不能自动为您做这个。 请卸载所有的Nu​​Get软件包,然后重试。

你如何得到一个项目来selectNuGet 3.0? 还有别的我应该尝试?

环境:Xamarinforms,VS2015

在这里输入图像说明

谢谢….

为我工作的解决scheme:

卸载Xamarin.Forms:

Right Click Solution -> Manage NuGet Packages -> Uninstall Xamarin.Forms -> Restart VS 

然后删除构build平台:

 Right Click Solution -> Properties -> Build -> under Targeting select Change -> Remove platform(s) -> Restart VS 

重新安装Xamarin.Forms:

 Manage NuGet packages -> Search for Xamarin.Forms -> Install -> Restart VS 

另一个可能的解决scheme是暂时重命名packages.config,将PCL设置更改为新的目标平台,然后再次更改packages.config的名称。 这对我使用VS 2015的项目很有帮助。不能拿这个解决scheme的功劳,在博客上阅读它,然后只是在这里发布它,以便帮助某人。 如果我再次遇到博客文章,我会在这里发布链接。

对我来说,这是固定的:查看目标项目中的packages.config文件,并卸载所有已安装的软件包。 那么你将能够改变目标。 然后重新安装你的软件包。

根据原始问题的评论,有一些潜在的路线; 一个是尝试从项目中删除所有的软件包,并在重新添加之前进行必要的更改。

对于我最初的原型,我不想浪费时间在另一个平台上; 所以:

  1. 我开始了一个新的解决scheme – “空白应用程序(Xamarin Forms Portable)”
  2. 我使用PackageManager从所有项目中删除所有包
  3. 我更改了项目目标以排除任何Windows Mobile应用程序(它希望保留Windows 8.1;我认为这是我想要的.NET包含)
  4. 我删除了3个Windows项目
  5. 我使用PackageManager将“Xamarin.Forms”读取到所有剩余的项目中,并自动添加启动时存在的所有其他包

现在我的解决scheme只是(真的)针对Android和iOS ….

如果您的问题是关于解决scheme处处显示的选项,您可以简单地在解决scheme资源pipe理器中select那些您不想显示的选项,然后右键单击并select“卸载项目”。 他们会留在那里增加项目规模,但他们会从部署名单和其他地方离开。

禁用其中一个版本的最佳方法是在解决scheme资源pipe理器中,右键单击您不想包含的版本,如Windows或WinPhone,然后单击卸载项目。 那么这个版本会变成(不可用)

以上都没有解决我的问题,卸载nuget软件包或编辑项目文件不是一个解决scheme(至less对我来说 – 谈到引用地狱),但这种方法的工作:

首先,你不能删除一个单一的目标平台,如win8,silverlight或asp.net核心,而不会取消选中.NET Framework。

当您取消选中Windows 8和ASP.NET Core时,也取消选中.NET Framework。 不要担心,它不会出现上述错误信息,但VS会自动重新检查.NET Framework(通常是一个较低的版本),然后一旦完成重新添加窗口8.1后删除其他人。

一旦发生这种情况,您可以随后删除其他人。 这花了我一段时间才弄清楚,因为这不是很明显,也没有在其他地方解释。 你不需要卸载Xamarin.Forms。