当我将版本从3.0.0安装到3.5.1时,错误消息如下:
Install-Package:无法安装软件包' Google.Protobuf 3.5.1'。您正在尝试将此软件包安装到针对.NETFramework,Version = v4.0'的项目中,但该软件包不会 包含与该框架兼容的任何程序集引用或内容文件。有关更多信息,请与软件包作者联系。 在行:1个字符:1 + Install-Package Google.Protobuf -Version 3.5.1 -Project HDExamine + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [Install-Package],InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
然后我引用nuget包网站,它的依赖包括NETStandard.Library(> = 1.6.1),在我成功安装了NETStandard.Library 2.0.1之后,但是错误信息仍然是相同的。
我的应用程序基于.net framework 4.0,想知道我可以使用哪个版本的Google.Protobuf,非常感谢任何帮助。
答案 0 :(得分:2)
看起来官方Google软件包的目标是.NET 4.5(和.NET标准版) - 并且从不定位低于.NET 4.5的任何内容。 可能是这方面的技术原因,但它可以只是测试,方便等。所以一个选项是简单地在本地克隆它并尝试更改目标框架:看看有什么打破。
或者,如果您不依赖于该实现:protobuf-net目标所有版本(嗯,不完全 - 我最终放弃了.NET 1.1)。 API的工作方式不同,但它仍然应该具有您所需要的,包括.proto到C#codegen(https://protogen.marcgravell.com是最简单的方法;在页面上还有一个下载命令行工具,它有更多功能)。