在解决方案资源管理器中,具有引用的vcxproj项目在与项目关联的每个引用上显示警告符号.突出显示引用时,属性面板指示完整路径为:
无法解析Microsoft.VisualStudio.ProjectSystem.References.UnresolvedBuildDependencyProject Reference"引用.
如果按下"..."框,则会显示相同的错误消息框,我无法选择新的参考.我已经尝试删除引用并再次添加它,但结果是一样的.添加新项目引用时,结果是相同的.
当我使用Visual Studio 2008(v90)工具集进行编译时,所有这些都会发生.如果我使用Visual Studio 2015(v140)工具集进行编译,则会正确显示引用库的完整路径.
一些背景:
我将项目从Visual Studio 2008升级到Visual Studio 2015.此项目包含托管和非托管类型.vcxproj的混合.在此计算机上,已安装Visual Studio 2008可再发行组件.这使我能够使用Visual Studio 2008(v90)工具集进行编译.我的目的是首先使用VS2015中的VS2008设置编译我的项目(出于限制原因,我必须使用v90工具集).因此,我相应地配置了VC++目录.链接项目的"配置"属性中没有"链接器"选项.在引用的属性中,启用以下配置:
c++ linker dependencies projects-and-solutions visual-studio
我使用EVP_aes_256_cbc()密码创建了一个RSA密钥对.私钥是PEM编码的并且具有密码短语.这需要用户输入密码.
这是创建私钥调用:
//Save private key
bio_priv = BIO_new_file(full_asymKeyFilePath.c_str(), "a+");
if (PEM_write_bio_RSAPrivateKey(
bio_priv, //BIO handle
rsa, //Key handle
EVP_aes_256_cbc(), //Cipher encoding format
pwd, //Password
pwd_len, //Password length
NULL, //Callback
NULL //Not sure
) != 1) {
//report err
}
Run Code Online (Sandbox Code Playgroud)
然后我生成了一个证书并用私钥签名.
//Sign the certificate with the generated key
if (!X509_sign(cert, evpKey, EVP_sha1())){
//report err
}
Run Code Online (Sandbox Code Playgroud)
稍后,我想验证此证书是否与此RSA密钥对匹配.当我SSL_CTX_check_private_key(),我被提示从控制台输入密码.
有没有办法自动输入密码,以便我不会从控制台收到提示?
//Load server certificate, must be called before ever calling use private key
if (SSL_CTX_use_certificate_file(context, full_certFilePath.c_str(), SSL_FILETYPE_PEM) == 0){ //load all certs …Run Code Online (Sandbox Code Playgroud)