Protobuf-net缺少依赖System.Private.ServiceModel

时间:2018-12-19 14:56:36

标签: .net-core protobuf-net

我们有一个使用protobuf-net序列化和反序列化protobuf消息的项目。它可以在Windows上很好地构建,但是在我们的Linux构建环境中,我们似乎最终缺少依赖项。

当dotnet core 2.1服务运行时,我们将收到以下错误:

  

在应用程序依赖清单中指定的程序集   找不到(xxxx.deps.json):

     

包:“ System.Private.ServiceModel”,版本:“ 4.5.3”路径:   '运行时/unix/lib/netstandard2.0/System.Private.ServiceModel.dll'   未定义

如何最好地解决这个问题?

1 个答案:

答案 0 :(得分:0)

当前解决方法是仅在项目构建事件中将此库复制到所需位置

  <Target Name="BuildProces" BeforeTargets="Build">
    <Copy Condition=" '$(OS)' == 'Windows_NT' "  
          SourceFiles="$(USERPROFILE)\.nuget\packages\system.private.servicemodel\4.5.3\runtimes\win\lib\netstandard2.0\System.Private.ServiceModel.dll"
          DestinationFolder="$(OutputPath)\runtimes\unix\lib\netstandard2.0\" />
  </Target>

还有条件,仅适用于Windows操作系统。