我有一个构建构建脚本(MyBuild.sh),用于为xamarin表单应用程序创建Android apk。
我的要求是,当我提供内部测试版本时,我希望项目csproj中的Microsoft应用程序中心崩溃和分析,但是当我采用PROD版本时,我不希望项目中的Microsoft应用程序中心崩溃和分析< / p>
因此在构建脚本中,我检查其是否为PROD构建,并尝试从csproj中删除应用程序中心软件包。
if [ $Env == 'PROD' ]
then
dotnet remove ./Sample/Sample.csproj package Microsoft.AppCenter.Analytics
dotnet remove ./Droid/Sample.Droid.csproj package Microsoft.AppCenter.Crashes
fi
我的问题是,在执行脚本时,它会正确地从“共享代码”中删除程序包,而不是从Droid.csproj中删除程序包,而在尝试删除程序时抛出的程序包
info : Removing PackageReference for package 'Microsoft.AppCenter.Crashes' from project './Droid/Sample.Droid.csproj'.
error: The imported project "/usr/local/share/dotnet/sdk/2.1.4/Xamarin/Android/Xamarin.Android.CSharp.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. /Users/george.thomas/Documents/Nov/Candidate/Droid/Sample.Droid.csproj
现在,如果我从Droid.csproj删除MSBuildExtensionsPath并运行脚本,它将正确删除软件包,但无法构建项目
抛出The target "Build" does not exist in the project
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />