2017-01-03 56 views
1

我想實現竹成使用Xbuild創建IPA文件或APK文件,但我得到1個警告和1個錯誤:Bamboo無法找到與目標框架名字對應的框架?

警告如下:

/usr/local/Cellar/mono/4.6.2.7/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets: warning : Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.5,Profile=Profile78'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior. 

的錯誤是這樣的:

/usr/local/Cellar/mono/4.6.2.7/lib/mono/xbuild/14.0/bin/Microsoft.Common.targets: error : PCL Reference Assemblies not installed. 

我不清楚爲什麼發生這種情況,因爲當我在Xamarin Studio中打開該項目,並構建它,這將是成功的,當我運行的應用程序是全功能與完全沒有問題。我已經在版本4.5中找到配置文件78的文件位置並且它存在,我有最新安裝的Mono Development Kit(MDK)版本。它如何在Xamarin中正確構建,而不是在Bamboo中構建,是否與我如何找到這些文件有關?

我也嘗試在終端上創建APK文件,但也得到了相同的錯誤。我已經嘗試了許多解決方案,如卸載單聲道和重新安裝,我添加了.NETPortable從Windows到Mac,但沒有工作,爲什麼我的Mac找不到它在我的Mac上的配置文件78。

文件/usr/local/Cellar/mono/4.6.2.7/lib/mono/xbuild/14.0/bin/microsoft.common.targets似乎在尋找.NetPortable,Version=v4.5,Profile=78,但我有在此位置:Library/Frameworks/Mono.framework/Versions/4.6.2/lib/mono/xbuild.frameworks/.NetPortable/v4.5/Profile/Profile78,我已經貼在多個位置.NetPortable文件夾,試圖解決這個錯誤。我哪裏錯了?

+0

儘管我還沒有碰到Bamboo很長一段時間(3年以上),但我親自做的一件事是確保您的'xbuild'命令在本地環境中以類似設置的魅力工作。看到你試圖通過終端創建一個'.apk',並得到相同的錯誤聽起來像是安裝錯誤。 'PCL Reference Assemblies'應該是MDK的一部分(Linux ex:http://www.mono-project.com/docs/getting-started/install/linux/#usage)。看到您安裝了它,這聽起來像是Bamboo用戶帳戶的文件權限可能存在的問題? –

+0

@JonDouglas它可能是一個安裝錯誤,但它不是一個權限錯誤,因爲我有管理員權限,甚至可以使用竹帳戶來嘗試哪些可以做任何事情,但我怎樣才能修復安裝錯誤我已經嘗試重新安裝MDK,任何建議? –

+0

@JonDouglas你基本上是正確的我不知道爲什麼,但這是與該帳戶發生的事情有關,因爲我重新安裝了xamarin工作室,並沒有奏效,我添加了Windows的.NetPortable文件夾, t工作,然後經過多年的嘗試修復,我添加了一個不同的帳戶再次重新安裝Xamarin,檢查更新,然後從Windows添加文件夾,然後它的工作。如果你添加了你的信息和我的答案,我會接受它,因爲這對我有幫助。 –

回答

1

儘管我還沒有碰到Bamboo很長一段時間(3年以上),但我親自做的一件事是確保您的xbuild命令在具有類似設置的本地環境中像一個魅力一樣工作。看到你試圖通過終端創建一個.apk,並得到相同的錯誤聽起來像安裝錯誤。在MacOS上,PCL Reference Assemblies應該是MDK的一部分。看到您安裝了它,這聽起來像是Bamboo用戶帳戶的文件許可權潛在問題。

要創建.apk文件,您需要在調用xbuild時針對Android項目使用/t:PackageForAndroid目標。

EX:

xbuild XamarinAndroidApplication.csproj /p:Configuration=Release /t:PackageForAndroid 

您還可以使用SignAndroidPackage目標在這裏給出的說明:

https://developer.xamarin.com/guides/android/under_the_hood/build_process/#Build_Targets

xbuild XamarinAndroidApplication.csproj /p:Configuration=Release /t:SignAndroidPackage 

如果你想用MSBuild等價物,它看起來像這個:

msbuild MyAndroidApp.sln 
msbuild /t:SignAndroidPackage MyAndroidApp.csproj 
+0

我得到錯誤目標名爲'PackageForAndroid'沒有在項目中找到或'安裝'或'SignAndroidPackage'你知道這是爲什麼嗎? –

+0

你是否在運行Android'.csproj? –

+0

不,我不能在一個項目文件夾有多個.csproj需要包等,所以我必須使用.sln –