在整个解决方案中对其进行更改后,“ Resource.Designer.cs”保留了旧的命名空间

时间:2018-09-20 19:36:45

标签: xamarin.android visual-studio-2017

在某些时候,项目标识被修改了,我通过重命名解决方案,项目,程序集和默认名称空间以及所有对应的文件夹-在我可以找到的名称的所有实例中,将其反映在代码中。我还使用Notepad2修复了解决方案和项目文件的内容。
Project Properties - Application tab 注意:使用VStudio的重命名功能更改了代码中的命名空间。

此后,每次重新生成Resource.Designer.cs文件时,它都会将(?!)中的旧命名空间拉出,从而破坏了对自动Resource类的定义,该类定义了资源ID: Resource.Designer.cs - auto-generated

很显然,我尝试解决此问题: Resource.Designer.cs - edited

在某些情况下,它会立即使用旧名称重新生成(您猜对了),但是有时(!)它将接受我的编辑,将其保存并让项目成为实际编译并运行: Compilation happily on the merry way!

我已经为项目和解决方案多次尝试了Clean and Rebuild命令,重新启动了VStudio,重新启动了Windows。没有骰子,它一直在发生。

App的TargetPlatform为7.1,MinimumVersion为4.3,启用了所有5种受支持的体系结构。 VStudio-15.5.4,.NET-4.7.03056,Xamarin-4.8.0.757,Xamarin.Android SDK-8.1.3.0。

只需在“类似问题”列表中找到此内容: Ambiguous reference intellisense error from Resource.Designer.cs。看起来很有希望,所以我做了以下事情:

  1. VisualStudio中的封闭解决方案。
  2. 在文件资源管理器中完全删除了\bin\obj子文件夹。
  3. 已编辑Resource.Designer.cs,因此它具有正确的(新)名称空间:J7987ca。
  4. 按照建议将“ AndroidUseManagedDesignTimeResourceGenerator”添加到J7987ca.csproj
  5. 打开解决方案,结果如下-旧命名空间又回来了Re-opening solution after purging \bin and \obj subfolders

我想,我可以从一个干净的开始,用新的名字重新创建整个解决方案,但是对于上帝之爱,为什么我必须这么做??而它将旧名称从何处提取?!

1 个答案:

答案 0 :(得分:0)

我的上一张图片显示了<RootNamespace>J7980ca</RootNamespace>-旧名称。重新打开解决方案后,我并没有特别注意重新检查该选项卡,因为这样的毛刺永远不会发生在我身上:以前,我从未在将这些值保存到VS“对话框”中时遇到任何问题。

事实证明,在“项目属性”中更改默认命名空间不会生效
我验证了两次。

请记住,程序集名称已保存,因此我无所适从地解释了这是怎么回事。

我在Notepad2中编辑了.csproj后,重新打开该解决方案就很愉快地将适当的名称空间放入Resources.Designer.cs中并允许编译。