在某些时候,项目标识被修改了,我通过重命名解决方案,项目,程序集和默认名称空间以及所有对应的文件夹-在我可以找到的名称的所有实例中,将其反映在代码中。我还使用Notepad2修复了解决方案和项目文件的内容。
注意:使用VStudio的重命名功能更改了代码中的命名空间。
此后,每次重新生成Resource.Designer.cs
文件时,它都会将(?!)中的旧命名空间拉出,从而破坏了对自动Resource
类的定义,该类定义了资源ID:
在某些情况下,它会立即使用旧名称重新生成(您猜对了),但是有时(!)它将接受我的编辑,将其保存并让项目成为实际编译并运行:
我已经为项目和解决方案多次尝试了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。看起来很有希望,所以我做了以下事情:
\bin
和\obj
子文件夹。Resource.Designer.cs
,因此它具有正确的(新)名称空间:J7987ca。J7987ca.csproj
。我想,我可以从一个干净的开始,用新的名字重新创建整个解决方案,但是对于上帝之爱,为什么我必须这么做??而它将旧名称从何处提取?!
答案 0 :(得分:0)
我的上一张图片显示了<RootNamespace>J7980ca</RootNamespace>
-旧名称。重新打开解决方案后,我并没有特别注意重新检查该选项卡,因为这样的毛刺永远不会发生在我身上:以前,我从未在将这些值保存到VS“对话框”中时遇到任何问题。
事实证明,在“项目属性”中更改默认命名空间不会生效!
我验证了两次。
请记住,程序集名称已保存,因此我无所适从地解释了这是怎么回事。
我在Notepad2中编辑了.csproj
后,重新打开该解决方案就很愉快地将适当的名称空间放入Resources.Designer.cs
中并允许编译。