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 中删除图标。

Visual Studio 2010 Winforms总是忘记资源

查看项目引用,并删除对 self 的引用。

这是那些非常烦人的问题之一,在我遇到另一个导致我改变事情的问题之前,我永远不会想到这个问题。

似乎归结为使用 .net 4 客户端配置文件的应用程序,而不仅仅是默认的 .net 4 运行时。一旦我更改了这个问题,这个问题就停止了,我最近出现的另一个缺少命名空间的问题消失了。

这是对我有用的方法。(尝试了发布的所有内容,没有快乐。

当我第一次启动项目时,项目属性中指定的默认namespaceMyProject 。(所以我的大部分课程看起来像namespace MyProject{ public class foo{} }

后来我将类的命名空间从 MyProject 更改为 CompanyName.MyProject这也是问题发生的时候。

就我而言,我不得不回到Project Properties并更改实际条目Default namespaceCompanyName.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 文件并添加新映像,然后生成解决方案/项目。错误将消失。