无法在C#控制台应用程序中使用外部引用

我已经尝试了下面的所有建议但仍然没有快乐。

我现在正在尝试一个控制台应用程序,让我解释一下我正在做什么。

  1. 我在VS 2010中创建了一个新的控制台项目
  2. 我添加了一些不属于我的引用(dll),例如Castle.Winsor和N2 CMS dll
  3. 在控制台应用程序中,我可以添加使用语句指示我在引用的DLL中使用名称空间
  4. 我开始编写代码。
  5. 一旦我编译了所有使用引用的DLL的代码立即抱怨“找不到类型或命名空间名称’(你是否缺少using指令或程序集引用?)”

我已经尝试将dll设置为始终复制到本地,我已将DLL复制到同一目录中,我尝试通过项目添加引用并添加对DLL本身的引用

我不会在Web应用程序项目或ASP.net项目中遇到这个问题,它们总能正常工作,只能编译为EXE,如控制台应用程序或Windows服务。

必须有一些我想念的东西,否则我现在就会有这个工作。

将项目Target更改为非Client Profile目标。 右键单击Project并选择Properties,您应该看到Framework版本列表。 当您使用VS2010时,默认情况下创建的Console项目目标是.NET Framework 4.0 Client Profile,将其更改为.NET Framework 4.0。

检查引用的程序集是否Copy Local设置为true

首先,关于你的问题,很难确切地知道你做错了什么,但是从你在程序集名称中使用下划线(可能在命名空间和类型名称中)的事实,它表明你是相当的.NET世界的新手。

这表明您通过浏览已编译的程序集而不是添加项目引用来添加对解决方案中其他项目的引用 。 添加引用时,必须选择“项目”选项卡,而不是浏览程序集。

即使您不相信这是问题,删除所有引用并重新添加项目引用以确保绝对。 假设,驴等

完成后,我强烈建议从类型,命名空间和程序集中删除所有下划线。 您可能也想阅读框架设计指南。

在记事本中打开.Proj(Windows服务项目文件)文件,检查您的程序集位置(data_object)是否与您指向的位置相同。

当您在记事本中打开.Proj文件时,您可以检查,

项目参考,

   

如果你给dll或exe refrence那么

   False .exe C:\StackOverflow\bin\Debug\StackOverflow.exe  

我建议你给出确切的位置,包括上面例子中的驱动器名称。

您可以尝试其他选项,

  1. Clean and rebuild 2. Add Project reference if you already tried dll reference 3. Check whether the folder (referred assembly location) is Read Only then remove it.