我正在尝试对tSQLt框架进行一些改进,并且大部分时间都已完成,但由于与我未接触过的证书相关的测试仍然很少失败,所以无法做到这一点:
[exec] |18|[InstallExternalAccessKeyTests].[test creates correct certificate in master] | 120|Failure| [exec] |19|[InstallExternalAccessKeyTests].[test tSQLt can be set to EXTERNAL ACCESS after InstallExternalAccessKey executed] | 333|Failure| [exec] |20|[InstallExternalAccessKeyTests].[test tSQLtExternalAccessKey install data is signed with same key as tSQLt.clr] | 10|Failure|
失败的错误是:
Expected: %publickeytoken=8c9a92de0f9c7794,% Actual: tsqltclr, version=1.0.7216.13228, culture=neutral, publickeytoken=8d3f4bf59e4c22fd, processorarchitecture=msil
我将尝试描述我的安装过程。
我使用以下指南安装了此框架源。但是之后我无法启动该项目,因为它失败并出现以下错误,并且整个问题的解决都在该SO帖子中完成:
[exec]
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3325:无法导入以下密钥文件:tSQLtOfficialSigningKey.pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到强名称CSP:VS_KEY_C20B79DE0583A5C1 [E:\ Source \ tSQLt \ tSQLtCLR \ tSQLtCLR \ tSQLtCLR.csproj] [exec]
C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets(2482,5):错误MSB3321:导入密钥文件“ tSQLtOfficialSigningKey.pfx”被取消。[E:\ Source \ tSQLt \ tSQLtCLR \ tSQLtCLR \ tSQLtCLR.csproj]
为了解决这个问题,我为每个项目创建了没有密码的新密钥:
我看到它创建了snk
文件,而不是原始文件pfx
。之后,我尝试再次运行该构建,但由于上面提到的错误而失败。