尽管 Nuget 包将依赖关系声明为 >= 2.4.0.0,但似乎对 protobuf-net 版本 2.4.0.0 存在严格的运行时依赖关系。我的应用程序需要 3.2.30 版本。
刚刚在示例 Windows 窗体项目中检查了这种情况。这是包含所有参考文献的
.csproj
文件内容:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net472</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<RootNamespace>WinFormsExample</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DotNetBrowser" Version="2.24.2" />
<PackageReference Include="DotNetBrowser.WinForms" Version="2.24.2" />
<PackageReference Include="protobuf-net" Version="3.2.30" />
</ItemGroup>
</Project>
项目运行成功,
protobuf-net
版本设置为3.2.30
,并且相应的模块版本已加载,没有任何问题。