C++ cli 如何修复致命错误C1113:#在'上使用失败;Mylib.lib';

C++ cli 如何修复致命错误C1113:#在'上使用失败;Mylib.lib';,c++-cli,dll,.lib,C++ Cli,Dll,.lib,我有一个项目,它使用C++/CLI实现GUI和一些后台处理来与传感器对话。我已经准备好了所有的工作程序和大量的通讯工具,我们用它们来传送传感器的数据,这些数据都保存在一个.dll中。问题是我想将库合并到主可执行文件中,以避免担心分发.dll 我有一个演示项目,使用.lib可以很好地工作,但是当我尝试切换mani代码主体以生成.lib而不是.dll时,我得到以下错误: 1>------ Build started: Project: MyTool, Configuration: Debug

我有一个项目,它使用C++/CLI实现GUI和一些后台处理来与传感器对话。我已经准备好了所有的工作程序和大量的通讯工具,我们用它们来传送传感器的数据,这些数据都保存在一个.dll中。问题是我想将库合并到主可执行文件中,以避免担心分发.dll

我有一个演示项目,使用.lib可以很好地工作,但是当我尝试切换mani代码主体以生成.lib而不是.dll时,我得到以下错误:

1>------ Build started: Project: MyTool, Configuration: Debug Win32 ------
1>Compiling...
1>stdafx.cpp
1>.\stdafx.cpp : fatal error C1113: #using failed on 'c:\projects\MyTool\debug\MyLib.lib'
建议在未应用MSIL开关时发生这种情况,但它肯定在库项目中

在我的演示项目和真实的东西中,我混合了托管和非托管代码,所以我真的很难看到这里的问题是什么


如果您有任何建议,我们将不胜感激

我有点猜测,但我怀疑“MyTool”项目将“MyLib”项目作为其“引用”之一(“项目”菜单>>属性>>公共属性>>引用)


当您将MyLib项目的类型更改为LIB而不是DLL时,需要从项目引用中删除“MyLib”。然后更新解决方案的项目依赖项(“项目”菜单>>“项目依赖项…”),使MyTool依赖于MyLib。

我也遇到了这个问题。之所以失败是因为我正在编译我的本地/托管C++ DLL,以目标.NET 4。我使用的DLL是.NET2.0DLL。因此它失败了,尽管路径和文件名排列得很好。在这种情况下,错误消息完全没有任何帮助。
我通过将独立DLL更新为.NET4.0来解决这个问题。因此,两个程序集使用相同的.NET framework。

如果链接到混合模式(托管/本机)DLL,则可能会出现此错误。如果项目使用CLR,即使其中一个源文件不使用,也不应该使用CLR。但无论如何,如果是这样,那么请尝试从项目|属性|公共属性|引用中删除引用,然后重新添加它。

这只是我的想象,还是.NET将错误消息提升到了一个全新的水平?