【问题标题】:Why does R# tell me "Cannot resolve assembly System.Drawing" when I am referencing System.Drawing?当我引用 System.Drawing 时,为什么 R# 会告诉我“无法解析程序集 System.Drawing”?
【发布时间】:2014-11-10 19:29:21
【问题描述】:

当我运行“Inspect > Code Issues in Solution”时,R# 告诉我“无法解析程序集 System.Drawing”并指向 *.resx 文件中的这行 xml:

<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

我在项目的参考列表中查看了我的 System.Drawing 程序集。它是版本 3.5.0.0,而不是 2.0.0.0,所以我将 .resx 文件中 xaml 中的版本号从 2.0 更改为 3.5。不过,这仍然引发了来自 R# 的相同警告。

然后我想可能是罪魁祸首是 PublicKeyToken;所以我将该值从“b03f5f7f11d50a3a”更改为“969db8053d3322ac”(如发现here);但随后该项目甚至无法构建;我得到了:

Resx 文件无效。找到的程序集的清单定义与程序集引用不匹配。

尽管存在这些“问题”,但该应用似乎运行良好 - 程序集别名后面的图像:

<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
    <value>
        blee blah bloo
</value>
  </data>

...显示正常。

不过,当 R# 抬起手指时,我还是很紧张;我该如何纠正这个错误?

注意:这是一个 Visual Studio 2008 Windows CE/Compact Framework 应用程序。

【问题讨论】:

    标签: resharper assemblies system.drawing resx publickeytoken


    【解决方案1】:

    我在我的一个 C# 项目的 resx 文件中遇到了类似的问题:

    一旦我为该项目安装了相关参考(System.Windows.Forms 等),特定的 resharper 问题就消失了:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 2021-09-11
      • 2020-03-22
      • 1970-01-01
      相关资源
      最近更新 更多