1. 程式人生 > >vs for mac xamarin.forms 將pcl轉換為netstandard後報錯

vs for mac xamarin.forms 將pcl轉換為netstandard後報錯

condition div class 找到 mes foo inf packages ted

vs for mac xamarin.forms 將pcl轉換為netstandard後報錯

技術分享圖片

報錯內容:

Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s). (XF001)

解決方案:

經過一番谷歌後,找到解決辦法。

原文:

If you converted the PCL project to .NET Standard via the project options the project will be using a project.json. NuGet will generate two files that also import the Xamarin.Forms.props and Xamarin.Forms.targets: projectname.nuget.props and projectname.nuget.targets. If your project file that uses the project.json file also imports the Xamarin.Forms.targets then that may be the double import.

I just reproduced that problem myself with VS Mac 7.3.3. I created a Xamarin.Forms Class Library (Multiplatform - Library) from the project template, then went into project options Build - General and converted the PCL to .NET Standard. Then tried to build the project. I see a build error Xamarin.Forms.2.5.0.121934/build/portable-win+net45+wp80+win81+wpa81/Xamarin.Forms.targets(3,3): Error XF001: Xamarin.Forms targets have been imported multiple times. Please check your project file and remove the duplicate import(s). (XF001)

. To fix this I edited the .csproj and removed the Xamarin.Forms.targets import from the file:

<Import Project="..\packages\Xamarin.Forms.2.5.0.121934\build\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.targets" Condition="Exists(‘..\packages\Xamarin.Forms.2.5.0.121934\build\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.targets‘)" />

翻譯過來就是把 .csproj 中的<Import Project="..\packages\Xamarin.Forms.2.5.0.121934\build\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.targets" Condition="Exists(‘..\packages\Xamarin.Forms.2.5.0.121934\build\portable-win+net45+wp80+win81+wpa81\Xamarin.Forms.targets‘)" />刪掉後重新打開就行了。

vs for mac xamarin.forms 將pcl轉換為netstandard後報錯