c#更改框架错误

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

错误1无法加载文件或程序集’System.Drawing,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a’或其依赖项之一。 该系统找不到指定的文件。 第123行,第5行.C:\ Users \\ Documents \ Visual Studio 2010 \ Projects \\\ Properties \ Resources.resx 123 5

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

 System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089   System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089    ..\pix-300x300.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a   ..\pix2.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a   ..\pix4.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a   ..\pix3.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a  

如果我的框架是3.5,我将如何纠正这个问题呢?

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

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

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

我遇到了一个Visual Studio错误导致了类似的问题。 我用这个解决方法来解决它:

SEEMS工作的修复是手动更改图像流中的一个字符每次在设计器中编辑用户控件或表单

   AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w 

改成

  AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w 

那就是00LjAuMC4w 0yLjAuMC4w尾(0回到0y )回到0y

但是每次我改变那种forms的东西时我都必须解决这个问题。

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

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

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

Dot忘记将picture.gif的属性“Build action”设置为“Embeded resource”