2014-09-11 12 views

cevap

2

Sorunuzu ile etiketlediğinizde, iOS'ta sorunla karşılaştığınızı kabul ediyorum. Yakın zamana kadar, Xamarin.Studio projeyi oluşturmak için xbuild (veya msbuild) kullanmıyordu ve sonra ek hedefler atlandı.

(daha gerçekçi 8.0 ya) Xamarin.iOS 7.9 ile başlayarak, varsayılan değişmez ancak proje tercihlerinden etkinleştirmek için seçeneğine sahip:

use MSBuild build engine

"desteklenmeyen" uyarıyı yok say, ama biliyorum herhangi bir sorununuz varsa desteklenmez.

Daha sonra, nuget doğru

<Import Project="PATH_TO/Fody.targets" /> 

hedef yürütülmelidir gibi bir satır ilave şartıyla.

+0

dosyayı bulun. Dokumaya ihtiyaç duyan dosyalar PCL projesinde yer alır. Bu projede bir yapı motoru seçme seçeneği yoktur. iOS uygulaması, Xamarin.MonoTouch.CSharp.targets dosyasını içe aktaramayacağını düşündüren bir derleme hatasına neden olmasına rağmen, bu seçeneğe sahiptir. Paylaşılan bir kütüphane projesi var mıdır? –

+0

Yapım çıktınıza bakın, görevin yürütülüp yürütülmediğini kontrol edin –

+0

Çeşitli proje seçeneği değişiklikleriyle birçok kez yaptım. Asla yürütmek gibi gözükmüyor. Yapım hedefinin csproj dosyasında içe aktarıldığını kontrol ettim, bu yüzden yapısal olarak doğru görünüyor. –

15

Aynı sorunu yaşadım ve eğer \ Microsoft.Bcl.Build.targets dosyasını csproj dosyasından kaldırırsanız Fody'nin normal çalıştığını anlamaya çalıştım.

Bu satırı deneyin ve kaldırın.

<Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" /> 
+0

Neden olduğunu anlamıyorum ama işe yarıyor. –

+0

Evet, yine benim için çalıştı! – rid00z

+0

Xamarin projelerinde Microsoft.Bcl.Build'e ihtiyacınız olmadığını biliyorum, ancak bu Import yönergesini kaldırdıktan sonra Fody'nin neden çalıştığına dair bir açıklamaya ihtiyacım var. Benim için hiçbir anlam ifade etmiyor. –

2

Fody.targets dosyasında bir hata var. Sadece

Condition="Exists('@(IntermediateAssembly)')" 

ile

Condition="Exists(@(IntermediateAssembly))" 

yerine ve tekrar çalışması gerekir.

Benim çözümüm paylaşılan bileşenleri, bir iOS projesi ve bir Android projesi için PCL proje oluşur .../projectfolder/packages/Fody2.x.x/build/netstandard1.4/Fody.targets