如何使用相对路径将特定的dll文件加载到C#项目中?

问题描述 投票:0回答:1

我正在使用 Mac Xamarin 开发一个 MAUI 项目。我编写了一个 dll 来处理 HID 接口,但我想知道如何使用相对路径而不是绝对路径加载 dll 文件,以避免从不同笔记本运行工具时找不到 dll。我已经将 dll 文件添加到我的项目中,并为 dll 创建一个文件夹“Lib”。

我写了一个函数来处理dll文件的路径,但结果是加载函数后无法设置dll文件。

c# xamarin dll maui
1个回答
0
投票

这是我在应用程序中的操作方法:

  • 生成一个 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,并且无论环境如何,它都应该可以工作,因为路径是相对的。

© www.soinside.com 2019 - 2024. All rights reserved.