Visual Studio 2010 Winforms总是忘记资源
本文关键字:忘记 资源 Winforms Studio 2010 Visual | 更新日期: 2023-09-27 18:31:38
出于某种原因,在我当前的项目中,我通过项目属性创建了我的资源文件,添加了现有图像的加载。然后去将这些图像添加到菜单项,保存它。此时,一切看起来都很好,并且所有图像都已正确映射。
但是,一旦我关闭该窗体的设计器,然后打开它,我就会收到错误对话框,说:
The type 'My.Project.Properties.Resources' has no property named 'icon_plus'.
烦人的是,如果你按照它到代码没有错误,它可以很好地编译:
this.newToolStripMenuItem.Image = global::My.Project.Properties.Resources.icon_plus;
我尝试删除所有资源并从项目中删除资源文件,完全关闭IDE,然后重新加载它。我已经移动了文件的位置,但我只是没有想法,它真的开始用大约 10 个表单和控件来填充,每个表单和控件都会给我此错误,它们会从 UI 中删除图标。
查看项目引用,并删除对 self 的引用。
这是那些非常烦人的问题之一,在我遇到另一个导致我改变事情的问题之前,我永远不会想到这个问题。
它似乎归结为使用 .net 4 客户端配置文件的应用程序,而不仅仅是默认的 .net 4 运行时。一旦我更改了这个问题,这个问题就停止了,我最近出现的另一个缺少命名空间的问题消失了。
这是对我有用的方法。(尝试了发布的所有内容,没有快乐。
当我第一次启动项目时,项目属性中指定的默认namespace
是 MyProject
。(所以我的大部分课程看起来像namespace
MyProject{ public class foo{} }
后来我将类的命名空间从 MyProject
更改为 CompanyName.MyProject
这也是问题发生的时候。
就我而言,我不得不回到Project Properties
并更改实际条目Default namespace
到CompanyName.MyProject
砰,没有问题了。
它最有可能与命名空间冲突有关。
仔细检查项目中的所有命名空间,VS 喜欢做"项目名称.文件夹名称"。 如果它自动将 Icon 文件夹中的某个类/资源文件更改为 ProjectName.Icon,则它可能与类/结构名称冲突。
有趣的是,应用程序构建了。
我遇到了同样的问题。 VS 不会加载任何表单对象。 我尝试了所有其他方法,但没有结果。
以前,我将所有私有全局变量更改为公共属性。
public Textbox exampleTextBox { get; set; }
我这样做有多种原因,但设计师视图不喜欢它。我相信它一定有一些解析问题。
对象必须是全局变量而不是属性。
public Textbox exampleTextBox;
这修复了我的设计师视图。
我找到了另一种方法
在私有方法中移动初始化表单代码,如下所示
private void FormInitialize(){/*Your code here*/}
在窗体构造函数中像这样使用它
public Form1()
{
InitializeComponent();
FormInitialize();
}
从按钮,菜单项或其他调用方法,如
private void ChangeCultureToFrench_Click(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr");
this.Controls.Clear();
this.InitializeComponent();
FormInitialize();
}
我希望这有所帮助;-)
我以前遇到过这个错误。当我添加资源,然后将其拿走或修改时,它就出现了。我发现可以解决此问题的唯一方法是打开.csproj文件并查找它给出错误的.ico并将其删除。您的寻找
<ItemGroup>
<None Include="Resources'SomeResource.ico" />
</ItemGroup>
之后,保存文件。打开解决方案并重新添加。希望这对您有用。但请注意,这不是理想的解决方案。
编辑:
还行。所以这并没有解决你的问题。进入解决方案文件夹并导航到"属性"文件夹。在里面你会看到一个名为资源的文件。打开它并尝试找到有问题的文件名
<data name="YourNamedIco" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..'Resources'SomeResource.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
如果找到它,请将其删除,保存。
我希望这有所帮助。
我和你有同样的问题,尽管我使用的"解决方案"甚至可能不这样称呼。我确实知道我在其中添加了一些安装项目,并将其删除,同时摆弄了一些图像的构建操作。
我使用的解决方案?删除当前项目,并恢复到没有问题的最新备份。当然,这只有在备份项目解决方案时才有效。
如果确实备份了项目解决方案,请仅尝试此方法作为最后的手段。
我尝试了所有其他答案,但没有一个有效。
最终似乎对我有用的是通过右键单击您的项目来执行"卸载项目",然后单击"重新加载项目"。在检查我的.cs [Design]
是否有效之前,我还通过在解决方案资源管理器中右键单击项目然后单击"重命名"将我的项目重命名为其他名称。
不要问我为什么会这样...
打开 Resources.resx 文件并添加新映像,然后生成解决方案/项目。错误将消失。