C# 更改命名空间后C resx文件不工作

C# 更改命名空间后C resx文件不工作,c#,winforms,embedded-resource,resx,C#,Winforms,Embedded Resource,Resx,我正在处理现有的windows窗体应用程序。我只需要做一些修改,在这些更改过程中,我遇到了一个场景,其中我还需要重命名现有的名称空间。现在,重命名该名称空间后,我的项目没有运行。虽然它编译得很好,但在下面的代码行中断 ImageList il = new ImageList(); ImageList = il; il.Images.Add((Image)new Bitmap(GetType(), "Images.ImageFileName.png"));//when th

我正在处理现有的windows窗体应用程序。我只需要做一些修改,在这些更改过程中,我遇到了一个场景,其中我还需要重命名现有的名称空间。现在,重命名该名称空间后,我的项目没有运行。虽然它编译得很好,但在下面的代码行中断

ImageList il = new ImageList();
ImageList = il;            
il.Images.Add((Image)new Bitmap(GetType(), "Images.ImageFileName.png"));//when this line is executed a dialog box appears and says that "there is no source code available for current location"
现在,由于我对.net世界还不熟悉,所以我研究了这个问题,并认为它是由于网络空间的变化而产生的。我还尝试在Resources.Designer.cs中重命名名称空间
但是它也没有解决我的问题

试着去掉第二行,ImageList=il;。它所做的是用一个类的实例替换一个类。不太好。

右键单击Resources.resx,选择属性,查找自定义工具名称空间,设置所需的名称空间

另外,为什么不以resources.ResrouceName这样的类型化方式引用资源呢


下面是一个快速教程,介绍如何设置资源,使您不必强制转换和考虑名称空间:

位图构造函数的特定重载将给定类型的名称空间与资源的字符串名称组合在一起,并在程序集清单中查找匹配项。因此,在本例中,它将是类的名称空间+.Images.ImageFileName.png。我猜这是不存在的。通过右键单击Resources.resx并选择“属性”来更改其名称空间,然后重新生成,看看它现在是否工作。

谢谢大家

我自己找到了解决办法。在这里发布解决方案的目的是让其他人从中受益。
事实上,这是我的一种疏忽,因为我忘记更改属性Default NameSpace的值。该属性包含旧名称空间,这就是为什么我的资源文件总是指向旧名称空间的原因。我也遇到了这个问题。我必须重命名我的应用程序的名称空间。在这之后,设计师忽略了所有资源,尽管它们是在构建解决方案并运行应用程序之后出现的


我发现,即使我重命名了名称空间,它也没有在默认名称空间文本框下的应用程序属性中被替换。我已经更改了旧名称空间,该名称空间仍然与新名称空间一起出现,之后它工作正常。

我现在可能太累了,或者您忘记包含教程的链接了吗?:-@感官76-哎哟。。。抢手货谢谢