Xamarin.forms UWP-无法解析程序集或Windows元数据文件
一切都进展顺利,直到几天前,UWP在从VSTS(git)拉取新版本后突然停止构建,错误如下:Xamarin.forms UWP-无法解析程序集或Windows元数据文件,xamarin.forms,uwp,Xamarin.forms,Uwp,一切都进展顺利,直到几天前,UWP在从VSTS(git)拉取新版本后突然停止构建,错误如下: 无法解析程序集或Windows元数据文件“类型universe无法解析程序集:X.Core,版本=1.0.0.0,区域性=中性,PublicKeyToken=null。” 无法复制文件“obj\x86\Debug\MainPage.xbf”,因为找不到该文件 无法复制文件“obj\x86\Debug\App.xbf”,因为找不到该文件 无法复制文件“obj\x86\Debug\X.Mobile.UWP
- 无法解析程序集或Windows元数据文件“类型universe无法解析程序集:X.Core,版本=1.0.0.0,区域性=中性,PublicKeyToken=null。”
- 无法复制文件“obj\x86\Debug\MainPage.xbf”,因为找不到该文件
- 无法复制文件“obj\x86\Debug\App.xbf”,因为找不到该文件
- 无法复制文件“obj\x86\Debug\X.Mobile.UWP.xr.xml”,因为找不到该文件
- X.Core(.NET标准类库)
- X.移动(.NET标准PCL)
- X.Mobile.UWP(UWP特定项目)
BackgroundTaskTest (which have all my Views and ViewModels)
BackgroundTaskTest.Android
BackgroundTaskTest.iOS
BackgroundTaskTest.UWP
突然,我决定在同一个解决方案文件夹中添加一个名为“BackgroundTaskTest.Common”的类库:
BackgroundTaskTest.Common (new one)
BackgroundTaskTest (which have all my Views and ViewModels)
BackgroundTaskTest.Android
BackgroundTaskTest.iOS
BackgroundTaskTest.UWP
Android可以很好地使用它,但是UWP项目不喜欢这个新邻居(在你的例子中,它被命名为“X.Core”)。所以我把我的类从那个新项目移到了“BackgroundTaskTest”中,并从我的解决方案中删除了“BackgroundTaskTest.Common”和所有引用,它已经开始工作了
要最终确定并使其简短,请将您的X.Mobile.csproj文件与X.Mobile.Core.csproj文件进行比较。你会在差异中发现问题所在。另外,请检查您对X.Core项目的所有依赖项,以确保它们是相同的。我安装了NuGet软件包“NETStandard.Library”,并在我的UWP项目中添加了对所有.Net标准库的引用。这为我解决了问题 什么是.Net标准PCL?如果没有详细的可复制项目,我看不到这个问题,你会创建一个最小的复制样本吗?.NET标准PCL是“共享”项目。最初的.NET Core PCL已被弃用,因此在VS2017中创建项目时,代码共享策略的选项是共享项目和.NET标准。显然,我无法在一个全新的项目中重现同样的结构。如果可以的话,我会继续尝试复制并添加到GitHub的链接。通过添加与UWP项目等效的“公共”解决了这个问题。真奇怪。