我已经成功地为 x64 构建了发布模式的 DLL。使用 Register.reg 文件注册后,当我锁定计算机时,凭据提供程序会正确加载。
但是,当我在 x64 的调试模式下构建时,当我锁定我的计算机时,我的凭据提供程序将不会加载。我的构建配置有问题吗?我需要检查什么?
我已经成功地为 x64 构建了发布模式的 DLL。使用 Register.reg 文件注册后,当我锁定计算机时,凭据提供程序会正确加载。
但是,当我在 x64 的调试模式下构建时,当我锁定我的计算机时,我的凭据提供程序将不会加载。我的构建配置有问题吗?我需要检查什么?
您可能没有面临这个问题,但它可能与其他任何偶然发现这个问题的人有关。
在我的情况下,我在与构建代码不同的机器上运行凭据提供程序。事实证明,我没有在目标机器上安装 C++ 运行时文件的调试版本。
调试运行时文件不附带您可以从 Microsoft 网站下载的普通 C++ 可再发行包。它们仅在您的 Visual Studio 安装中可用(请参阅Visual Studio 2017 的此参考)。
复制以下文件夹的内容:
[VisualStudioFolder]\VC\Redist\MSVC\[version]\debug_nonredist\x64\Microsoft.VC[version].DebugCRT\
至:
C:\Windows\System32
还要确保将手动复制文件的所有者更改为SYSTEM
用户。
请注意,这些文件不允许与您的应用程序一起分发,它们仅可用于开发目的。