c# dotnet 项目失败 运行: 未找到程序集文件

c# dotnet project fails to run: assembly file not found

我正在尝试在 Debian 9.9 (stretch) 下获得一个 dotnet 项目 运行。

我从这里克隆了存储库: https://github.com/Montesuma80/3cx-web-API

安装 dotnet 包(Microsoft 存储库中的 3.1 SDK)后,构建失败,因为未找到列出的依赖项。我编辑了 .csproj 文件以匹配我系统中 dll 文件在 HintPath-Tag 中的实际位置(它是本地安装的 phone 系统):

  <ItemGroup>
    <Reference Include="3cxpscomcpp2">
      <HintPath>/usr/lib/3cxpbx/3cxpscomcpp2.dll</HintPath>
      <Private>false</Private>
    </Reference>
  </ItemGroup>

修改后代码编译成功

但是当运行编译代码时,我得到以下错误:

System.IO.FileNotFoundException: Could not load file or assembly '3cxpscomcpp2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=53c4927ce4749cb4'. The system cannot find the file specified.

File name: '3cxpscomcpp2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=53c4927ce4749cb4'
   at WebAPI.Program.Bootstrap(String[] args)
   at WebAPI.Program.Main(String[] args) in /root/webapi/3cx-web-API/Program.cs:line 418

文件确实存在于指定的路径中。我尝试删除 bin 和 obj 文件夹并重新开始,同时将 dll 复制到项目目录,结果相同。构建工作正常,但 运行 找不到程序集。我检查了我系统上dll文件的版本,2.0.0.0是正确的版本。

非常感谢任何帮助。

移除

<Private>False</Private>

来自 Reference
设置后 - dll 不会复制到 bin 文件夹