1

我可以通过从源代码构建来构建托管在Sourceforge上的相同 tSQLt.zip 吗?我怎么做?

我已经使用以下命令检查了tSQLt SVN 存储库的头部(当前为 r200):

svn checkout https://tsqlt.svn.sourceforge.net/svnroot/tsqlt tsqlt

Build 目录中有一个名为 buildNotes.txt 的文件,用于描述构建过程。第一步如下所示:

Setting up tSQLt build notes:
1. You must run MSBuild from the command line once before running the build. The reason is that the first time it prompts for the signing
password. The signing password is: P@$$30rd

This gets somehow stored internally in Windows, and will not need to
be re-entered again.

Here is an example of the MSBuild command:
c:\Projects\tSQLt.sourceforge\tSQLtCLR\tSQLtCLR>C:/Windows/Microsoft.NET/Framework/v2.0.50727/msbuild.exe tSQLtCLR.csproj /p:Configuration=Release /nologo

当我运行示例命令时,我看到一个密码提示:

导入密钥文件

我粘贴密码“P@$$30rd”,然后单击“确定”。密码显然不正确:

导入密钥时出错

msbuild 的命令输出如下所示:

C:\Users\iain.CORP\SkyDrive\Software\SQL Server\tSQLt\svn\tsqlt\tSQLtCLR\tSQLtCLR>C:/Windows/Microsoft.NET/Framework/v2.0.50727/msbuild.exe tSQLtCLR.csproj /p:Configuration=Release /nologo
Build started 05/04/2013 19:07:15.
__________________________________________________
Project "C:\Users\iain.CORP\SkyDrive\Software\SQL Server\tSQLt\svn\tsqlt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj" (default targets):

Target GetFrameworkPaths:
    Could not locate the .NET Framework SDK.  The task is looking for the path to the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.  You may be able to solve the problem by doing one of the following:  1.) Install the .NET Framework SDK.  2.) Manually set the above registry key to the correct location.
Target ResolveKeySource:
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1728,7): error MSB3321: Importing key file "SigningKey.pfx" was canceled.
Done building target "ResolveKeySource" in project "tSQLtCLR.csproj" -- FAILED.

Done building project "tSQLtCLR.csproj" -- FAILED.

Build FAILED.
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1728,7): error MSB3321: Importing key file "SigningKey.pfx" was canceled.
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:07.39

C:\Users\iain.CORP\SkyDrive\Software\SQL Server\tSQLt\svn\tsqlt\tSQLtCLR\tSQLtCLR>C:/Windows/Microsoft.NET/Framework/v2.0.50727/msbuild.exe tSQLtCLR.csproj /p:Configuration=Release /nologo
Build started 05/04/2013 19:07:15.
__________________________________________________
Project "C:\Users\iain.CORP\SkyDrive\Software\SQL Server\tSQLt\svn\tsqlt\tSQLtCLR\tSQLtCLR\tSQLtCLR.csproj" (default targets):

Target GetFrameworkPaths:
    Could not locate the .NET Framework SDK.  The task is looking for the path to the .NET Framework SDK at the location specified in the SDKInstallRootv2.0 value of the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.  You may be able to solve the problem by doing one of the following:  1.) Install the .NET Framework SDK.  2.) Manually set the above registry key to the correct location.
Target ResolveKeySource:
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1728,7): error MSB3321: Importing key file "SigningKey.pfx" was canceled.
Done building target "ResolveKeySource" in project "tSQLtCLR.csproj" -- FAILED.

Done building project "tSQLtCLR.csproj" -- FAILED.

Build FAILED.
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(1728,7): error MSB3321: Importing key file "SigningKey.pfx" was canceled.
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:07.39

输出包含消息“无法找到 .NET Framework SDK”。这是我必须安装的东西才能完成这项工作吗?

4

1 回答 1

0

看起来确实指定了错误的密码。您可以tSQLtCLR\tSQLtCLR.sln在 Visual Studio 界面中打开并尝试键入或更改密码。在这两种情况下,我都收到“旧密码无效”消息。

实际上,您不需要完全使用这个强名称密钥文件。强名称是 SQL CLR 程序集的先决条件,您可以使用任何文件,包括您自己的文件。您可以创建具有相同名称和密码的新密钥文件并成功构建程序集。

在此处输入图像描述

如果您安装了 Visual Studio,则不需要.NET Framework SDK ,因为您可以通过接口对程序集进行签名。但是如果你没有VS,你必须安装SDK才能使用sn.exe,它是SDK的一部分。

我也尝试过这个解决方案,但它也没有成功

在此处输入图像描述

于 2013-05-25T21:48:22.247 回答