实例化新的EF对象会丢失System.Drawing引用吗?

时间:2011-12-02 09:54:35

标签: c# vb.net winforms entity-framework

我有一个包含2个项目的解决方案

  • #1是C#类库,我定义了我的EF模型(3.5 sp1)和一些公共方法。
  • #2是VB winforms app。

在winforms应用程序中,我引用了C#库并添加了EF模型的连接字符串。

我遇到的问题是我有一个用户选择要导入的.txt文件的表单。在VB方面,我从文件中创建一个byte(),然后将其传递给一个巧妙地称为Process的公共方法。在Process()中,一切都顺利运行,直到我实例化EF模型。

using (WorkersCompImportEntities context = new WorkersCompImportEntities()) { ....

我收到此错误的地方:

Could not load file or assembly 'System.Drawing, Version=1.0.3300.0, 
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 
The system cannot find the file specified.

我在MVC 3应用程序中成功使用EF类,我需要能够为VS 2008 winforms应用程序使用相同的类库。

VB应用程序现有对System.Drawing Version 2.0的引用。

我需要重新做一些重要的工作吗?我陷入了僵局。

1 个答案:

答案 0 :(得分:1)

您似乎正在使用res://*作为EF模型源,并且您引用的其中一个程序集仍引用.net 1中的旧System.Drawing程序集。

您应准确指定EF应扫描模型的程序集,文件或目录,以便EF不会开始尝试递归项目恰好引用的每个程序集,尤其是当您使用可能有条件地使用的第三方控件时并非始终可用的程序集。

请参阅Model and Mapping File Locations了解如何指定映射的来源。

有关问题的讨论,请参阅: