gpt4 book ai didi

c++ - 如何修复引用特定 NuGet 包交付的 dll 版本的托管 C++ 程序集 (VS2017)

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:48 26 4
gpt4 key购买 nike

我正在构建一个托管的 c++ dll (udnet.dll),它引用了一个 Nuget 包交付的 dll

packages.config

<packages>
<package id="ForeignLanguage" version="2.0.5" allowedVersions="[2,3)" />
</packages>

当在完整构建中使用时,ForeignLanguage.dll 的实际版本是 2.0.6,因为自构建 udnet.dll 以来它有一个小错误修复。

然而,当 udnet.dll 加载失败时,因为它正在寻找 2.0.5

enter image description here

我如何构建 udnet.dll 以便它对 ForeignLanguage 的版本不那么挑剔?如果主要版本不匹配,我真的只希望它失败。即 (2.0.0.0)

最佳答案

问题出在 ForeignLanguage.dll,我没有在 AssemblyInfo.cpp 中将 AssemblyVersion 设置为 2.0.0.0

#define VER_FILE_VERSION_STR STRINGIZE(GITVERSION_Major) \
"." STRINGIZE(GITVERSION_Minor) \
"." STRINGIZE(GITVERSION_Patch) \
".0"

#define VER_VERSION_STR STRINGIZE(GITVERSION_Major) \
".0.0.0"

[assembly:AssemblyVersion(VER_VERSION_STR)];
[assembly:AssemblyFileVersion(VER_FILE_VERSION_STR)];

关于c++ - 如何修复引用特定 NuGet 包交付的 dll 版本的托管 C++ 程序集 (VS2017),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51721647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com