我是C#编程的菜鸟。 我目前正在尝试在Visual Studio中运行C#项目。在构建项目时,找不到特定的程序集或目录文件。 在.csproj文件中,该库的com目录存在:-
float
当我查看文件夹的文件夹时,得到文件Interop.SREYELINKLib.dll。 但是,.dll文件不在项目中。 如何解决此编译错误?
答案 0 :(得分:1)
当我查看文件夹的bin时,我得到了文件 Interop.SREYELINKLib.dll。但是,.dll文件不存在于 项目。如何解决此编译错误?
SREYELINKLib
的意思是Interop.SREYELINKLib.dll
。它们代表相同的文件。 Interop.SREYELINKLib.dll
是它的全名,如下图所示。因此,遇到这种情况时,这不是错误,这很正常。
在构建项目时,我正在获得特定的装配体或 找不到目录文件。在.csproj文件中, 该库存在:-
首先,我认为您遇到了构建错误,即系统找不到特定的com引用。如果是这样:
自Net 4.0以来,Microsoft已将EmbedInteropTypes
添加到VS中。并且EmbedInteropTypes=true
意味着在DLL中使用的直接嵌入到项目输出文件中的代码等效于将com引用直接嵌入到project.dll或project.exe中,因此您不必输出com引用,从而优化项目。
但是在某些特殊情况下,由于某些原因嵌入互操作类型时,互操作层会失败。您的代码无法访问,只能手动添加(EmbedInteropTypes=False
)。您可以看到this。
因此,请单击SREYELINKLib
中的Solution Explorer
,然后将Embed Interop Types
设置为False
。另外,请不要忘记确保将Copy Local
设置为True
。要检查它,请打开xxx.csproj文件,并确保已添加
<EmbedInteropTypes>False</EmbedInteropTypes>
。
此外,请在您的项目中使用Interop.SREYELINKLib.dll
而非SREYELINKLib.dll
。
希望它可以为您提供帮助。