Pec*_*heu 12 .net c# c++ dll visual-studio-2015
好吧,我一直在尝试在 Visual Studio 2015 中创建一个 C++ DLL,这花了一段时间,因为我对 Visual Studio 不太熟悉。
我需要访问 .NET 库,特别是 System::Management。(由于糟糕的 C++ 实现,编写代码比它需要的要困难一些,但至少它有一个。)
我修复了明显的错误,最后发现我必须在项目属性中启用 CLR,然后使用 References->Add Reference 选择相关库。但毕竟,现在它只是给出了这个奇怪的错误:
LNK1104: cannot open file 'MSCOREE.lib'
Run Code Online (Sandbox Code Playgroud)
编译器不会在任何内容下方显示红色波浪线,并且错误声称该行为“1”,文件为“LINK”,因此没有帮助。
我想我可能在某处搞乱了项目配置,所以我创建了一个新项目并将代码移过来。错误仍然发生。如果我关闭 CLR 并注释掉依赖于 .NET 的代码,则构建成功且没有错误。
所以我尝试从模板(Visual C++ -> Win32 控制台应用程序)创建一个新项目,然后在做任何其他事情之前启用 CLR。然后我再次尝试,选择不同版本的 .NET 框架。
最后,我尝试使用模板(Visual C++ -> CLR -> CLR 控制台应用程序)创建一个项目并立即构建它。我的意思是字面上不做任何其他事情。它仍然给出了同样的错误!
LNK1104: cannot open file 'MSCOREE.lib'
Run Code Online (Sandbox Code Playgroud)
这到底是怎么回事?我在这里做错了什么,还是 VS2015 刚刚坏了?
小智 10
我有同样的问题。安装“.NET Framework 4.6.1 SDK”解决了这个问题。注意版本号,从你的项目配置文件中获取
小智 2
试试这个,右键单击显示“LNK1104:无法打开文件‘MSCOREE.lib’”的项目,然后选择属性 --> 配置属性 --> VC++ 目录 --> 库目录 --> 添加下面的两个条目,并用分号
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
Run Code Online (Sandbox Code Playgroud)
这是您的“mscoree.lib”应该所在的位置,在执行此操作之前检查它是否存在,否则您可能需要安装/重新安装 Microsoft SDK