【发布时间】:2020-01-04 17:30:48
【问题描述】:
我是 C# 编程的菜鸟。 我目前正在尝试在 Visual Studio 中运行 C# 项目。在构建项目时,我找不到特定的程序集或目录文件。 在 .csproj 文件中,库的 com 目录存在:-
<COMReference Include="SREYELINKLib">
<Guid>{F8FB49B9-9448-4045-BB1F-9DEA1F98B7E6}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>2</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>False</Isolated>
</COMReference>
当我查看文件夹的 bin 时,我得到文件 Interop.SREYELINKLib.dll。 但是,项目中不存在 .dll 文件。 如何解决此编译错误?
【问题讨论】:
-
在您的机器上搜索文件 SREYELINKLib。该文件需要在项目 bin 文件夹中,需要指定完整路径,或者您的环境变量 LIB 需要具有文件所在的位置。
-
在我的项目 bin 文件夹中存在 interop.SREYELINKLib.dll 但不存在 SREYELINKLib.dll。另外,我的环境变量没有 LIB 变量。我正在使用 Windows 10。
-
试试
<EmbedInteropTypes>True</EmbedInteropTypes> -
我尝试在
标签内添加 True ;但是,它仍然显示相同的错误。我应该共享我的 git 项目吗? -
SREYELINKLibdll 是否从某处导入?另外,在某些情况下,一些特殊的com引用只需要non embedding the interop types,项目就可以成功使用它。见this。在某些情况下,Embed interop types=true方法有时会导致奇怪的方法。
标签: c# visual-studio msbuild