首页 文章

Azure部署不包括dll引用

提问于
浏览
0

我有一个在Azure中托管的Web API,我从GitHub存储库中设置了持续部署 .

我需要实现一些依赖于第三方DLL的功能,因此我将其添加为对项目的引用 . 一切都在本地工作正常,但当我使用新DLL提交更改时,Azure中的部署失败并显示以下消息:

错误CS0246:找不到类型或命名空间名称“MyReference”(您是否缺少using指令或程序集引用?)

如果我打开我的.csproj文件,这就是添加引用的方式,所以可能存在一个问题:

<ItemGroup>
  <Reference Include="MyReference">
    <HintPath>..\..\..\..\..\..\Users\MyUser\Downloads\library-sdk-csharp\lib\MyReference.dll</HintPath>
  </Reference>
</ItemGroup>

如果我去GitHub并查看代码,我可以在/bin/Debug/netcoreapp2.1/中看到我的dll

我尝试将CopyLocal设置为True,但这并没有解决任何问题 . 我还能做些什么来解决这个问题?这似乎是一件相当简单的事情 .

1 回答

  • 1

    问题是,您实际上是通过相对路径引用此程序集(DLL),具体取决于您的本地环境(用户文件夹部分是一个提示) . 但是如果你使用git repo的连续部署,所有的东西都必须可以从git repo或构建过程中引用 . 在构建环境中,相关路径不可用,这就是它无法被引用的原因 .

    Solution:
    1.将程序集引用为nuget包,并在连续的整合构建过程中调用 nuget restore

    • 要么 -
      2.在项目中创建一种 lib 文件夹,并将第三方程序集放在那里 . 然后将此库作为项目的一部分提交(相对于您的项目引用它)

    希望这可以帮助...

相关问题