小编Lew*_*wis的帖子

使用命令行提取Nupkg文件

首先,在处理某些.nupkg文件时,我根本不想使用Visual Studio.

我知道有一个名为NuGet Package Explorer的工具,它可以使用gui将nupkg文件导出到某个文件位置,但是我想设置一个MSBuild任务来运行和解压缩大约50个.nupkg文件,使用命令行.

我的问题是,是否有一个工具可以通过命令行使用,它将.nupkg文件解压缩到指定的文件位置?

nuget

84
推荐指数
4
解决办法
10万
查看次数

nuget pack路径中的非法字符

我正在使用Cruise Control打包应用程序,命令是这样的

<Exec Command="$(NugetToolPath) pack &quot;@(NuSpecs)&quot; -OutputDirectory \\servername\PackageSource -BasePath &quot;%(NuSpecs.RootDir)%(NuSpecs.Directory)&quot; -NoPackageAnalysis" />
Run Code Online (Sandbox Code Playgroud)

我把这个错误缩小为它出来的BasePath

-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin\"
Run Code Online (Sandbox Code Playgroud)

我知道这个问题,因为它应该是

-BasePath "D:\Code\Mobile_Trunk\PreCompiledWeb\Portal\Mobile LT Admin"
Run Code Online (Sandbox Code Playgroud)

但是因为我正在使用.Directory元数据,它总是会返回一个\结尾

我通常不会引用基本路径,但由于目录中有空格,我别无选择.有没有解决的办法?我不知道任何其他元数据将返回完整的文件夹结构,而不是我如何将其布局

更新:

我来到这个解决方案,它仍然没有帮助我知道如何解决非法路径的问题,但它的工作原理.

<Exec Command="$(NugetToolPath) pack &quot;%(NuSpecs.RootDir)%(NuSpecs.Directory)%(Nuspecs.FileName).nuspec&quot; -OutputDirectory \\servername\PackageSource  -NoPackageAnalysis" />
Run Code Online (Sandbox Code Playgroud)

msbuild nuget

15
推荐指数
1
解决办法
5724
查看次数

OpenCover无法找到文件位置

我正在尝试针对打开的封面运行构建args但我找不到文件位置,因为位置本身有空格

  <executable>C:\Program Files (x86)\OpenCover\OpenCover.Console.exe</executable>
  <buildArgs>-register:user -target:"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe" -targetargs:"C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll" /noshadow /xml=reports\TestResult.xml" - filter:"+[WebCrawlerMVC.Tests*]*  -output:"C:\Program Files (x86)\CruiseControl.NET\server\reports\coverage.xml" </buildArgs>
  </exec>
  <exec>
    <executable>C:\Program Files (x86)\ReportGenerator\bin\ReportGenerator.exe</executable>
    <buildArgs>-reports:reports\coverage.xml</buildArgs>
Run Code Online (Sandbox Code Playgroud)

当我通过OpenCover控制台运行它时,错误出现为文件类型未知:C:Users\username\Documents\Visual

所以它无法查看整个文件路径,有没有办法解决这个问题?我意识到我的整个论点仍会有一些错误,但在解决这个错误之前我无法修复它们.

更新:

  targetargs:"\"C:\Users\lardern\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll"
Run Code Online (Sandbox Code Playgroud)

"\"C:似乎允许间距通过,我的代码仍然有错误,但它不再是文件路径问题.

UPDATE2:

  <task>
  <exec>
  <executable>C:\Program Files (x86)\OpenCover\OpenCover.Console.exe</executable>
  <buildargs>-target:"C:\Program Files (x86)\NUnit 2.6.2\bin\nunit-console.exe" -register:user -targetargs:"/nologo /noshadow \"C:\Users\username\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\WebCrawlerMVC.Tests\bin\Debug\WebCrawlerMVC.Tests.dll" -filter:+[WebCrawlerMVC]* -output:coverage.xml </buildargs>
  </exec>
  </tasks>
Run Code Online (Sandbox Code Playgroud)

这是工作版.

cruisecontrol.net nunit opencover

4
推荐指数
1
解决办法
4308
查看次数

使用 Invoke-SQLCMD、SMO 或 SQLConnection 哪个更好

我一直在创建一些 power shell 脚本,并且我主要使用 Invoke-Sqlcmd 作为查询数据库或输入 .sql 文件的一种方式,但是我在包含访问和终止进程方面遇到了一些麻烦。

我一直在使用 SMO 来终止进程

$SQlSvr1 = New-Object Microsoft.SqlServer.Management.Smo.Server $serverInstance
$SQlSvr1.KillAllprocesses($databaseMain)
Run Code Online (Sandbox Code Playgroud)

然后使用 Invoke-Sqlcmd 运行我的进程,一切运行良好,直到我开始收到诸如

A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) 
Run Code Online (Sandbox Code Playgroud)

如果我没有终止进程,它会返回

无法获得独占访问权限,因为数据库正在使用中。

所以我的问题是,重新生成或保持稳定连接的最佳过程是什么?我不会将所有内容更改为 SMO 或 SQLConnection,或者是否有办法使用 Invoke-Sqlcmd 建立单个连接,但每次我都会杀死/重新排队使用调用。

有问题的脚本首先备份我的数据库,使用 try/catch 中的补丁脚本运行和更新,如果有错误,脚本将在 catch 中备份,所有使用 Invoke-Sqlcmd 除了终止进程。

powershell smo sqlconnection sqlcmd

4
推荐指数
1
解决办法
2763
查看次数

有没有办法在Html Agility Pack中验证Windows身份验证用户?

在HttpTests中,有一种方法可以使用身份验证

request.Credentials = CredentialCache.DefaultCredentials;
Run Code Online (Sandbox Code Playgroud)

在Html Agility Pack中有类似的东西吗?我想测试我的localhost项目,但它收到了:

HTTP错误401.2 - 未经授权您无权查看此页面

c#

1
推荐指数
1
解决办法
2269
查看次数