gpt4 book ai didi

MSBuild 强制执行 HintPath 验证

转载 作者:行者123 更新时间:2023-12-03 17:54:54 24 4
gpt4 key购买 nike

我经常看到程序集引用有错误的 HintPath 的情况,这会导致奇怪的随机失败。

例如,您有错误的 HintPath,但您的 GAC 中有相应的程序集。
这意味着该项目将在您的机器上正常编译,但在其他机器上会失败。

在我的情况下,反之亦然,即使在 CI 服务器上,GAC 中也有一个库,所以这个问题不会被持续集成检测到。

我正在寻找类似自定义 MSBuild 任务的东西,它将验证所有 HintPaths 并在其中任何一个错误时导致构建失败。

最佳答案

如果您想在提示路径无效的情况下使构建失败,为什么不明确引用某些内容?这是我公司的 SOP,因为同一个库有很多版本。

例如:

    <Reference Include="C:\Path\To\Library\MyReference.dll">
<Private>False</Private>
</Reference>

或者,如果您想根据某个路径动态引用库,您可以设置一些 msbuild 属性,例如,指向您的库文件夹的“ExternalLibs”(如果您将库保留在源代码管理等中)。然后,您可以通过命令行设置该属性(当您调用 msbuild 时)或为其提供一些默认值,例如,每个用户都可以在其 .user 文件中覆盖该值。
    <Reference Include="$(ExternalLibs)\MyReference.dll">
<Private>False</Private>
</Reference>

这个解决方案非常灵活。

关于MSBuild 强制执行 HintPath 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12888687/

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