Xamarin.iOS构建错误MSB4096:"ReferenceCopyLocalPaths"未定义元数据"ResolvedFrom"的值

Mar*_*l W 5 xamarin.ios visual-studio-2017

更新Visual Studio 2017(包括Xamarin)后,我在几个Nuget包上收到错误,例如:

...\MSBuild\Xamarin\Xamarin.Apple.Sdk.targets(29,5):错误MSB4096:项目".... nuget\packages\HockeySDK.Xamarin\4.1.3\lib\Xamarin.iOS10\HockeySDK .dll"在项目列表中"ReferenceCopyLocalPaths"没有为元数据"ResolvedFrom"定义值.要使用此元数据,请通过指定%(ReferenceCopyLocalPaths.ResolvedFrom)来限定它,或者确保此列表中的所有项都定义此元数据的值.

只有在为Xamarin.iOS构建时才会出现此错误.适用于Android的构建工作正常.

有人知道如何解决这个问题吗?

小智 7

通过修改位于C:\ Program Files(x86)\ Microsoft Visual Studio\2017\Professional\MSBuild\Xamarin的Xamarin.Apple.Sdk.targets文件,我能够为自己的解决方案修复此问题.我将ReferenceCopyLocalPaths限定条件添加到第31行和第35行.

第31行

<FrameworkFile>$([System.String]::new('%(ReferenceCopyLocalPaths.ResolvedFrom)').StartsWith('$(FrameworkPathOverride)').ToString().ToLowerInvariant())</FrameworkFile>

第35行

'%(ReferenceCopyLocalPaths.ResolvedFrom)' != 'ImplicitlyExpandDesignTimeFacades' And

  • 我想知道Xamarin是否会在没有新的showstoppers的情况下发布稳定的版本.:-( (2认同)