我正在尝试对 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
的 . 之后,我尝试再次运行构建,但由于我上面提到的错误而失败。