c# - 无法在 VS Code 中正确添加 .dll 引用
问题描述
我正在尝试在 VS Code 中将 shell32.dll 添加和使用到我的控制台项目中。我把它放在项目的根文件夹,..\bin 和 ..\bin\Debug。我做了dotnet restore
。我的 .csproj 文件中的代码是:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Reference Include="Shell32">
<HintPath>shell32.dll</HintPath>
<SpecificVersion>False</SpecificVersion>
</Reference>
</ItemGroup>
</Project>
但是当我添加using Shell32;
到 Program.cs 时,它会给出错误“找不到类型或命名空间名称‘Shell32’”。请指教我做错了什么?
解决方案
您要添加 COM 引用,Microsoft Shell Controls and Automation
而不是引用实际的 Shell32.dll。
示例 XML:
<ItemGroup>
<COMReference Include="Shell32.dll">
<Guid>50a7e9b0-70ef-11d1-b75a-00a0c90564fe</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>0</VersionMinor>
<WrapperTool>tlbimp</WrapperTool>
<Lcid>0</Lcid>
<Isolated>false</Isolated>
</COMReference>
</ItemGroup>
推荐阅读
- git - 使用 git merge 时哪个文件是我的和他们的?
- asp.net - 为什么没有引用我的代码隐藏事件处理程序?
- mongodb - 无法使用 pyspark 显示 mongo 数据库
- python - 为什么 Parse_Dates 在 Python 中给我错误的结果?
- mongodb - 如何编写通用 ASP.NET Core ApiController 从客户端执行 MongoDB CRUD 操作?
- python - 我有一个包含一些 NaN 列表的数据框,有什么办法可以摆脱方括号?
- webrtc - WebRTC 媒体服务器:管理长期存在的对等连接
- android - 构建项目时出现以下错误。这是错误
- c# - C# .Net Core 将 DataSet 作为 ArrayOfXElement 发送到 asmx wcf Web 服务
- python - 如何“将文本居中” tkinter treeview