我正在使用 Mac Xamarin 开发一个 MAUI 项目。我编写了一个 dll 来处理 HID 接口,但我想知道如何使用相对路径而不是绝对路径加载 dll 文件,以避免从不同笔记本运行工具时找不到 dll。我已经将 dll 文件添加到我的项目中,并为 dll 创建一个文件夹“Lib”。
我写了一个函数来处理dll文件的路径,但结果是加载函数后无法设置dll文件。
这是我在应用程序中的操作方法:
生成一个 DLL 并将其放置在解决方案根目录的文件夹中(我个人使用“Libs”)文件夹。
打开要添加 DLL 的项目的 .csproj 文件
在 .csproj 文件中添加以下部分,假设您的 dll 名为“my.library”
<Project>
<!-- Other tags omitted-->
<ItemGroup>
<Reference Include="my.library">
<HintPath>..\Libs\my.library.dll</HintPath>
</ItemGroup>
</Project>
注意“..\”使路径成为相对路径。如果您的文件夹结构更复杂,您可能需要使其适应您的特定项目结构
我的文件夹结构如下:
Solution
|- Project1
|- Project1.csproj
|- ...
|- Project2
|- Project1.csproj
|- ...
|- Libs
|- my.library.dll
然后您应该能够通过在代码中编写“using my.library”来在项目中使用 DLL,并且无论环境如何,它都应该可以工作,因为路径是相对的。