[英]Visual Studio 2015 Xamarin freezing
我在帶有Xamarin的Visual Studio 2015上有一個Android應用程序,它經常凍結。
我每次都能重現的唯一場景是在部署之后。 在將應用程序部署到模擬器或設備上后,VS會立即凍結。 該應用程序運行正常,但VS凍結了幾秒鍾。 它還會在其他情況下凍結。
無論我做什么,VS都不會顯示“不響應”消息。 似乎它正在做一些后台工作,並且還沒有真正凍結,但是我無法弄清楚問題出在哪里。
我從頭開始重新創建了項目,當我添加資源並安裝了一些NuGet程序包(appcompat v7和firebase雲消息傳遞)后,問題又再次發生。
我猜想這與VS無法識別某些布局文件中的某些屬性有關,例如
。
1-關於凍結問題有幫助嗎?
2-我怎樣做才能讓VS識別這些屬性?
3-我可以將resources.cs配置為僅在構建時重新生成嗎?
更新
找到了 ,但是對我沒用!
更新2
好的,現在我100%確定問題出在android資源的生成上。 aapt.exe是這個歷史的反面,但是我仍然不能讓它每次都停止執行並凍結Visual Studio。 是否有一些設置可以忽略布局文件上的xml錯誤或類似內容?
我是創建您所引用的bugzilla帖子的人。
您確定在正確的位置安裝了<AndroidResgenExtraArgs>--no-crunch </AndroidResgenExtraArgs>
嗎? 它必須在您正在使用的配置中,即,如果要在Debug | AnyCPU
Deploy中進行部署,則.csproj
必須像這樣Debug | AnyCPU
Debug | AnyCPU
配置:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<AndroidResgenExtraArgs>--no-crunch </AndroidResgenExtraArgs>
(另請注意--no-crunch
之后的尾隨空格)
順便說一句,當我安裝aapt.exe
時,我對aapt.exe
也有麻煩,而--no-crunch
對此無濟於事。 臨時將aapt.exe
重命名為aapt.exe
會aapt2.exe
幫助-Visual Studio不會運行aapt
進程,因為它找不到exe文件並且Nuget的安裝速度很快。 但這可能不適用於構建和部署,我認為這會引發錯誤。
好吧,在嘗試了很多東西之后,我做出了一個幸運的猜測,並且成功了。
我一直在尋找我的csproj,發現一些奇怪的東西,例如:
<ItemGroup>
<AndroidResource Include="Resources\layout\onefile.axml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\anotherfile.axml" />
</ItemGroup>
<ItemGroup>
<AndroidResource Include="Resources\layout\onemorefile.axml">
<SomeOtherAttributes />
</AndroidResource>
</ItemGroup>
因此,我認為組織ItemGroups值得一試,將所有ItemGroups(類,布局,圖像,字符串等)放在一起,例如:
<ItemGroup>
<AndroidResource Include="Resources\layout\onefile.axml" />
<AndroidResource Include="Resources\layout\anotherfile.axml" />
<AndroidResource Include="Resources\layout\onemorefile.axml" />
</ItemGroup>
它的工作超出了我的預期。 不僅解決了我的凍結問題……它使VS比以前的凍結問題更快……真正快了!
我不知道重新組織csproj文件是否會導致任何類型的問題,但是我將對其他項目進行同樣的操作,然后看看會發生什么。
我對csproj和ItemGroup進行了快速研究,但沒有發現任何相關問題……我相信這是一個錯誤!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.