在C#项目中添加引用,但是它会“消失”?

3
我有一个C#项目...我添加了一个引用(一个dll)到它里面,并试着在我的代码中使用那个库。
我使用了所谓的(它是一个数据库连接器)
MiDB myDb;
它找不到,我可以右键单击并说“解析”usings…这会在顶部添加这一行: using ThePackage.Database.AoNM.MiDB;
诸如此类
所以这个工作,它看到了它,甚至可以调用一个被看到的方法:
myDb.InitDB("stuff here");
成功。 一旦我构建它,它就说找不到ThePackage,好像那个usings或参考不存在。 在解决方案资源管理器中仍然存在吗? 我可以删除引用,再次添加它,然后发生同样的事情,它“似乎”存在,但进行构建和运行时就“消失”了。
可能是因为太晚了,但老实说,我对为什么C#(2008)这样对我感到完全迷失?
DLL也是在2008年构建的...也许我错过了某些与dll相��的构建选项?

好的,我会补充说明一下,这个项目是2010年的,我正在尝试使用一个用2008年C#构建的dll来构建它。这会有影响吗? - Codejoy
不,这并不重要 - 奇怪。使用指示符真的消失了吗?还是只是没有起作用? - Marc Gravell
可能是C# Visual Studio 2010突然看不到命名空间?的重复问题。 - Hans Passant
3个回答

3

我曾经遇到过相同的问题。 你需要将项目的目标框架从“.Net Framework 4 Client Profile”更改为“.Net Framework 4”

这对我起作用了。


3

请检查dll和程序集是否在相同的CPU类型(x86-x64)上运行。当它们不同时,我曾经遇到过类似的错误(以及非常奇怪的错误消息)。


1

如果DLL使用的.NET框架版本高于应用程序,则会出现此问题。根据您在评论中所说的方式,应用程序是在Visual Studio 2010中创建的,而DLL是使用Visual Studio 2008构建的,这种情况可能不太可能发生。但是,由于问题引用了Visual Studio 2008,因此并不完全确定是否是这种情况。无论如何,请检查在引用项目中使用与被引用项目相同或更高的框架版本。


请确保在引用应用程序中不使用客户端配置文件,并在被引用的应用程序中使用完整配置文件。 - Dave Rael

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接