在Xamarin Android中 - 如何重新生成Resource.designer.cs
我尝试将所有XML文件的Build Action标记为“AndroidResource”,但仍然不会使用新值更新Resource.designer.cs。
什么事件触发生成此文件?
答案 0 :(得分:55)
最近Xamarin Studio 5.6(版本273)与Xamarin.Android 4.18.0,如果您已从项目中手动删除Resource.designer.cs
文件,重建将重新生成Resource.designer.cs
,但不将其添加回项目中。因此,在尝试重建一次后,该文件将出现在文件系统中,但不会出现在项目中。要解决此问题,请手动将新生成的文件添加到项目的Resources文件夹中。
答案 1 :(得分:14)
我发现由于项目文件的更改,Xamarin工作室将停止重新生成Resources文件。顶级构建PropertyGroup应包含
的条目<RootNamespace>**Your_Root_Namespace**</RootNamespace>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<AndroidApplication>True</AndroidApplication>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
<AndroidResgenClass>Resource</AndroidResgenClass>
<TargetFrameworkVersion>*your value here*</TargetFrameworkVersion>
由于某种原因,这些只是消失了。如果你用文本编辑器打开Android项目的csproj并添加这些条目似乎工作。我从我在Xamarin Studio中创建的一个新项目中抓取了这些条目,这可能是最简单的方法。
答案 2 :(得分:14)
1.单击项目中的Resource.designer.cs文件。
2.单击CTRL + A(全选)
3.点击Del(全部删除)
4.清理并重建您的项目(如果您收到修改后的Resource.designer.cs消息,请单击&#34; Yes to All&#34;按钮)。
你现在得到第一栋楼的错误。但您的Resource.designer.cs文件已重新生成。您现在可以再次构建。它的作品。
答案 3 :(得分:5)
我解决了这个问题,删除了字符&#34; - &#34;从Drawable文件夹中的图像名称。
答案 4 :(得分:3)
这似乎可能由于多种原因而发生。可以帮助揭示问题的一个步骤是在Visual Studio中增加构建输出的详细程度:工具 - &gt;选项 - &gt;构建和运行 - &gt;更改&#34; MSBuild项目构建输出详细程度&#34;到&#34;诊断&#34;。
在我的情况下,我的一个控件没有Id,因此导致Resource.Designer.cs没有更新(但没有默默地这样做)。
一旦我添加了Id,文件就会再次开始更新。
注意:您可能希望在找到问题后将构建输出详细程度恢复正常。
答案 5 :(得分:1)
比看起来容易......
http://docs.xamarin.com/recipes/android/general/projects/specify_default_namespace/
您可以使用find / replace重命名项目,但资源文件将使用“主设置”中为“默认命名空间”设置的任何内容,即使您手动编辑Resource.designer,也会继续恢复为此名称。 cs文件存入或传出Xamarin。
答案 6 :(得分:1)
Resource.designer.cs文件夹将更新为@Brendan Zagaeski提到的。
然而,由于看起来似乎没有解决您的问题,看起来Xamarin并没有认识到您所做的任何改变。至少这是发生在我身上的事。
我最终通过重命名生成的&#34;布局&#34;来解决它。文件夹到&#34;布局&#34; (我对drawable和值做了同样的事情)。之后,只需再次构建项目,Resource.Designer就会成功更新。
希望这有助于某人。
答案 7 :(得分:1)
确保您的根包名称正确无误。
答案 8 :(得分:1)
方法1: 从项目中删除文件,并删除bin和obj文件,然后构建它应该100%工作的项目,如果我遇到相同的问题,如果那不起作用总是有另一个选项
方法2: 关闭应用程序,即visual studio,映射到 C-&GT;用户 - &GT; - &GT; AppData(隐藏文件) - &gt;从本地和漫游中删除xamarin文件
答案 9 :(得分:1)
它发生在我身上几次,每次问题都不是来自文件本身的生成,而是来自一个格式错误的android资源。 因此,如果在您从存储库中合并某些内容后发生这种情况,请仔细检查您的android资源(颜色,字符串等),以查找格式错误的XML代码。
答案 10 :(得分:0)
我有完全相同的问题,这里的答案都没有。最后我想我在一些尚不存在的布局中有一些图像引用。如果您的源路径损坏,Resource.Designer.cs似乎停止更新而没有任何错误。最后,删除参考图像后,问题得到解决,Resource.Designer.cs得到更新。
希望这有助于某人!
答案 11 :(得分:0)
对于仍然遇到此问题的人,当您查看错误列表时,某些错误可能会说&#34;找不到与给定的&#39; toRightOf @ id /(资源名称)相匹配的资源&#39; (或相对布局中的任何其他位置)...你必须突出显示资源的所有代码(在axml文件中),其中包含id,cut,save all,然后粘贴并重建...然后你的Resource.Designer .cs会再生!希望它有所帮助。
答案 12 :(得分:0)
我在Visual Studio中遇到了同样的问题。 仅当资源发生更改时才生成资源设计器文件 我应用了以下步骤来生成所需的resource.designer.cs文件 *在资源中添加了虚拟图像 *清理项目 *重建项目 生成了新的resource.designer.cs。
答案 13 :(得分:0)
在Visual Studio 2019中,如果删除了Resources.Designer.cs,则只需在解决方案资源管理器中右键单击“ Resources.resx”文件,然后选择“运行自定义工具”即可。
这将重新创建文件。
答案 14 :(得分:-4)
如果重建项目,将更新生成的Resources.designer.cs
类。
您可以在以下网址找到此信息:http://docs.xamarin.com/guides/android/getting_started/hello%2C_world