簡體   English   中英

Visual Studio 2015 Xamarin凍結

[英]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.exeaapt2.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM