我们有一个使用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' 未定义
如何最好地解决这个问题?
答案 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操作系统。