C# 更改框架错误

本文关键字:错误 框架 | 更新日期: 2023-09-27 17:56:16

我正在运行Visual Studio 2010。我只是将项目的框架工作从 4.0 更改为 3.5。我删除了它要求我删除然后尝试编译的引用Microsoft.Framework。我现在收到错误:

错误 1 无法加载文件或 装配'系统.图纸, 版本=4.0.0.0,区域性=中性, 公钥令牌=b03f5f7f11d50a3a' 或 它的依赖项之一。系统介绍 找不到指定的文件。线 123、位置 5. C:''用户''''文档''视觉工作室 2010''项目''''''属性''资源.resx 123 5

我知道它指的是我的 resources.resx 文件中的代码:

<resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  <data name="pix-300x300" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..'pix-300x300.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix2" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..'pix2.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix4" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..'pix4.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>
  <data name="pix3" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>..'pix3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
  </data>

现在我的框架是 3.5,我将如何纠正这一点?

C# 更改框架错误

您可以尝试通过右键单击 .resx 文件并从上下文菜单中选择"运行自定义工具"来重新生成文件。

编辑:在执行此操作之前,请更改访问修饰符或添加新值以强制重新生成。

另一个编辑:有关另一种可能性,请参阅将应用程序从 .net 4.0 降级到 3.5

我遇到了一个Visual Studio错误,它给我带来了类似的问题。我使用此解决方法来解决它:

似乎有效的修复程序是 手动更改 图像流 每次 用户控件或窗体在 设计师

<data name="icons_20.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
     AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w

更改为

     AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w

00LjAuMC4w回到行尾的0yLjAuMC4w00 返回0y

但是每次我以这种形式更改某些内容时,我都必须修复它。

不确定这一点,但由于其他答案没有帮助,请尝试这个。文件中的Version=4.0.0.0告诉编译器使用 .net 4.0 程序集。尝试将它们更改为Version=3.5.0.0Version=2.0.0.0,看看是否可以解决它。

这个问题已经很长时间了,我失去了微软修复这个错误的希望。然后我开始使用手动编写的代码来处理资源中包含的图片:

string resource = "Company.Namespace.Resources.picture.gif";
pictureBox1.Image = new Bitmap(Assembly.GetExecutingAssembly()
.GetManifestResourceStream(resource));

点忘记将图片的属性"构建操作"设置为"嵌入资源.gif