Я пытаюсь запустить решение tSQLt
локально, следуя инструкциям в файле tSQLt\Build\Install the tSQLt build.docx
.
Перестроенное tSQLtCLR
решение:
1>------ Rebuild All started: Project: tSQLtCLR, Configuration: Debug Any CPU ------
2>------ Rebuild All started: Project: tSQLtTestUtilCLR, Configuration: Debug Any CPU ------
3>------ Rebuild All started: Project: tSQLtExternalAccessKey, Configuration: Debug Any CPU ------
4>------ Rebuild All started: Project: UnsignedEmpty, Configuration: Debug Any CPU ------
1> tSQLtCLR -> E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\bin\Debug\tSQLtCLR.dll
2> tSQLtTestUtilCLR -> E:\Source\tSQLt\tSQLtCLR\tSQLtTestUtilCLR\bin\Debug\tSQLtTestUtilCLR.dll
3> tSQLtExternalAccessKey -> E:\Source\tSQLt\tSQLtCLR\tSQLtExternalAccessKey\bin\Debug\tSQLtExternalAccessKey.dll
4> UnsignedEmpty -> E:\Source\tSQLt\tSQLtCLR\UnsignedEmpty\bin\Debug\UnsignedEmpty.dll
========== Rebuild All: 4 succeeded, 0 failed, 0 skipped ==========
Я создал самозаверяющий сертификат:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
Затем я создал файл pfx:
openssl pkcs12 -export -out E:\Source\tSQLt\tSQLtCLR\OfficialSigningKey\tSQLtOfficialSigningKey.pfx -inkey key.pem -in cert.pem
Затем я дважды щелкнул этот новый файл pfx и импортировал его для текущего пользователя.
Наконец запустите Menu / Tools / tSQLt local Dev_tSQL
и получите следующую ошибку:
+-------------------+
: Starting BUILD :
+-------------------+
NAnt 0.92 (Build 0.92.4543.0; release; 2012-06-09)
Copyright (C) 2001-2012 Gerry Shaw
http://nant.sourceforge.net
Buildfile: file:///E:/Source/tSQLt/Build/tSQLt.build
Target framework: Microsoft .NET Framework 4.0
Target(s) specified: all
init:
init.tSQLt:
[delete] Deleting directory 'E:\Source\tSQLt\Build\temp'.
[mkdir] Creating directory 'E:\Source\tSQLt\Build\temp'.
clr.compile:
[echo] Compile CLR Command: "C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe" tSQLtCLR.csproj /p:Configuration=CruiseControl /nologo
[exec] Build started 2019-08-11 10:47:46 AM.
[exec] Project "E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj" on node 1 (default targets).
[exec] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2482,5): error MSB3325: Cannot import the following key file: tSQLtOfficialSigningKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_C20B79DE0583A5C1 [E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj]
[exec] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2482,5): error MSB3321: Importing key file "tSQLtOfficialSigningKey.pfx" was canceled. [E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj]
[exec] Done Building Project "E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj" (default targets) -- FAILED.
[exec]
[exec] Build FAILED.
[exec]
[exec] "E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj" (default target) (1) ->
[exec] (ResolveKeySource target) ->
[exec] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2482,5): error MSB3325: Cannot import the following key file: tSQLtOfficialSigningKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_C20B79DE0583A5C1 [E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj]
[exec] C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2482,5): error MSB3321: Importing key file "tSQLtOfficialSigningKey.pfx" was canceled. [E:\Source\tSQLt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj]
[exec]
[exec] 0 Warning(s)
[exec] 2 Error(s)
[exec]
[exec] Time Elapsed 00:00:00.49
BUILD FAILED
E:\Source\tSQLt\Build\tSQLt.build(53,4):
External Program Failed: cmd (return code was 1)
Total time: 0.8 seconds.
+-------------------+
: BUILD FAILED :
+-------------------+
ОБНОВИТЬ:
После того, как файл pfx был сгенерирован и 4 из них были заменены в проекте. После этого я открываю решение tSQLtCLR
и перехожу к свойствам каждого проекта (кроме проекта UnsignedEmpty), затем на вкладку Signing
и там я ставлю галочку «Подписать сборку», выбираю ключ. Он запрашивает пароль, который я не вводил, просто нажал OK, так как ключ был создан без пароля, затем я очищаю/пересобираю решение и получаю ошибки:
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3325: Cannot import the following key file: tSQLtOfficialSigningKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_FAD69C25E7450957
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3321: Importing key file "tSQLtOfficialSigningKey.pfx" was canceled.
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3325: Cannot import the following key file: tSQLtOfficialSigningKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_3A487AA7CCDAEF2F
2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3321: Importing key file "tSQLtOfficialSigningKey.pfx" was canceled.
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3325: Cannot import the following key file: tSQLtOfficialSigningKey.pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_5C6CEC0DAE821947
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(3214,5): error MSB3321: Importing key file "tSQLtOfficialSigningKey.pfx" was canceled.
4> UnsignedEmpty -> E:\Source\tSQLt\tSQLtCLR\UnsignedEmpty\bin\Debug\UnsignedEmpty.dll