我已经尝试了下面的所有建议,但仍然没有快乐。
我现在正在尝试一个控制台应用程序,让我解释一下我正在做什么。
我已经尝试将dll设置为始终复制到本地,我已将DLL复制到同一目录中,我尝试通过项目添加引用并添加对DLL本身的引用
我不会在Web应用程序项目或ASP.net项目中遇到这个问题,它们总能正常工作,只能编译为EXE,如控制台应用程序或Windows服务。
必须有一些我不知道的东西,否则我现在就可以使用它了。
答案 0 :(得分:37)
将项目目标更改为非客户端配置文件目标。右键单击Project并选择Properties,您应该看到Framework版本列表。在使用VS2010时,默认情况下创建的Console项目是.NET Framework 4.0 Client Profile,将其更改为.NET Framework 4.0。
答案 1 :(得分:2)
检查引用的程序集的Copy Local
是否设置为true
。
答案 2 :(得分:0)
首先,关于你的问题,很难确切地知道你做错了什么,但是从你在程序集名称中使用下划线(可能在命名空间和类型名称中)的事实,它建议你对.NET世界来说,这是一个新手。
这表明您通过浏览添加对解决方案中其他项目的引用,而不是添加项目参考。添加引用时,必须选择“项目”选项卡,而不是浏览程序集。
即使您不相信这是问题,也请删除所有引用并重新添加项目引用以确保无误。假设,驴等。
完成后,我强烈建议从类型,命名空间和程序集中删除所有下划线。您可能也想阅读框架设计指南。
答案 3 :(得分:0)
在记事本中打开.Proj(Windows服务项目文件)文件,检查您的程序集位置(data_object)是否与您指向的位置相同。
当你在记事本中打开.Proj文件时,你可以检查,
项目参考,
<ProjectReference Include="C:\StackOverflow\StackOverflow.csproj">
如果你给dll或exe refrence那么
<Reference Include="StackOverflow, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<ExecutableExtension>.exe</ExecutableExtension>
<HintPath>C:\StackOverflow\bin\Debug\StackOverflow.exe</HintPath>
</Reference>
我建议您提供包含驱动器名称的确切位置,如上例所示。
您可以尝试其他选项,
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.
答案 4 :(得分:0)
在VS 2019中,我在一个解决方案文件中有两个项目,一个C ++和另一个C#控制台。尝试通过“添加引用”添加dll引用时,无法在“参考管理器”窗口中看到“浏览”按钮来选择dll文件。
但是当我在解决方案内部仅创建C#Console应用程序时,我可以添加dll引用。