小编Jos*_*del的帖子

为什么PowerShell从$ home而不是当前目录解析路径?

我希望这个小的powershell one liner能够回显foo.txt的完整路径,其中目录是我当前的目录.

[System.IO.Path]::GetFullPath(".\foo.txt")
Run Code Online (Sandbox Code Playgroud)

但事实并非如此.它打印...

C:\Documents and Settings\Administrator\foo.txt
Run Code Online (Sandbox Code Playgroud)

我不在$ home目录中.为什么要在那里解决?

powershell

15
推荐指数
2
解决办法
3196
查看次数

我可以将PowerShell输出格式化为TeamCity日志中的可折叠树视图吗?

是否可以格式化PowerShell输出,使其在TeamCity构建日志树视图中呈现为可折叠部分?

例如,我的构建步骤使用了PowerShell运行程序,并发出了一个

write-host " #################  deployment manifest ############################"
ls -r -i *.* | %{ $_.FullName }
Run Code Online (Sandbox Code Playgroud)

输出这个:

[15:28:13] #################  deployment manifest ############################
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Bin
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\contact
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\Content
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\controls
[15:28:13]\\10.10.10.49\d$\sites\account.foo.net\v32\error
Run Code Online (Sandbox Code Playgroud)

我希望日志中的大块可以在树视图中折叠.

powershell teamcity

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

如何在TeamCity中获取分支特定的SVN修订号

我在TeamCity中配置了多个svn root.它们都指向相同的存储库,但不同的路径(分支).所有分支都返回相同的值进行修订.我想要分支特定的修订号.

这是我转储所有已定义属性后构建日志的摘录:

vcsroot.3_0_11__SP6_.url = https://svn.devlan.local/Enigma/branch/release/3.0.11/
vcsroot.trunk.url = https://svn.devlan.local/Enigma/trunk/
system.build.vcs.number.trunk = 9602
system.build.vcs.number.3_0_11__SP6_ = 9602
Run Code Online (Sandbox Code Playgroud)

svn树中明显不同的位置,但修订号相同.

如何获取分支特定的修订号?

svn teamcity

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

如何使用循环引用声明不可变图?

我想声明一个边缘代表连续状态的所有状态的图形.我认为我想要做的事情可能被称为"打结"(虽然不确定).它不像我预期的那样工作,我有几个问题.

首先,我想要一个具有字符串名称和连续状态列表的State类型.但是这个声明给编译器错误"......立即循环引用......":

type State = string * (State list)
Run Code Online (Sandbox Code Playgroud)

这种方式有效:

type State(name:string, contigs: (State list)) = 
  let name = name
  let contigs = contigs
Run Code Online (Sandbox Code Playgroud)

但这并不是要求成员命名的要求.一个元组很好.如何使这种简洁的语法有效?

其次,下面的代码试图声明应该是三个连续状态图(HI和AK是由单个节点组成的图,所有剩余状态构成最后一个图),然后是所有节点的列表.(为简洁起见,我实际上只在这里宣布了一些州):

let rec hi = State("hi", []) 
and mo = State("mo", [il ia]) 
and il = State("il", [mo]) 
and ia = State("ia", [mo])
and states = [hi,mo,il,ia]
Run Code Online (Sandbox Code Playgroud)

这会产生各种错误,但包括"mo最终会被评估为它自己定义的一部分","表达式应该是'a - >'b类型,但这里有类型State".我认为'rec'和'和'关键字可以让它发挥作用.我可以定义这个自引用图吗?如果是这样,怎么样?

f# circular-reference

9
推荐指数
2
解决办法
765
查看次数

TeamCity Call Url Build Step

我正在使用TeamCity使用Web Deploy 3在IIS网站上构建和部署文件.

我想在完成后添加一个调用url的步骤,以便在部署完成时刷新自定义缓存.

有没有办法可以添加构建步骤来调用网址?

谢谢

asp.net teamcity

9
推荐指数
2
解决办法
2521
查看次数

如何让 Chocolatey 不向路径添加 EXE?

Chocolatey 将.exe它在我的包安装目录中找到的任何内容添加到路径(wiki 中的第 3 步)。如何为.exe我的包中的给定禁用此功能?这.exe是一个 Windows 服务,无需将其添加到路径中。

chocolatey

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

在TeamCity中,是否有当前构建ID的系统/环境变量?

在TeamCity构建配置中,我们可以通过%propertyname%语法访问构建的各种属性.例如,%env.BUILD_NUMBER%.

但似乎缺少一个,这是当前构建ID的属性.也就是说,分配给每个构建的唯一标识符.这就是TeamCity REST API称之为"内部构建ID"的内容.不要与BUILD_NUMBER(更像是标签)混淆,也不要与"构建类型ID"(这是分配给构建配置的唯一ID)混淆.

teamcity configuration

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

使用Chocolatey安装Windows服务的"正确"方法是什么?

我正在寻找关于如何打包我的TopShelf托管Windows服务以通过Chocolatey分发的一些指导.目前.nuspec将.exe和所有.dll放入\tools文件夹,这意味着它们最终安装到ProgramData\chocolatey\lib\our-service\tools.这似乎不对.事实上,在我注意到卸载记录各种错误之前,这不是问题.哪些都与Chocolatey试图备份文件有关,但因为服务正在运行而无法使用.chocolateyuninstall.ps1会停止服务,但直到备份尝试后才会运行.

应用程序本身ProgramData\MyCompany\MyApp用于所有数据和日志记录.我也应该把二进制文件放在那里吗?或者Program Files更合适?如果其中一个位置正确,那么chocolateyinstall.ps1是将代码放入xcopy二进制文件的逻辑位置吗?或者(我希望你说不)这甚至不是巧克力的有效用途?意思是,我应该吮吸它并为Chocolatey创建一个MSI来操作吗?

谢谢

topshelf chocolatey

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

我可以基于属性(不仅仅是项目)进行批处理吗?

我有一个属性组,如下所示:

<PropertyGroup>
    <Platform>Win32;x64</Platform>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我想在Exec任务中批处理,如下所示:

<Exec Command='devenv MySolution.sln /Build "Release|%(Platform)"' />
Run Code Online (Sandbox Code Playgroud)

但是,当然,正如我写的那样我得到一个错误:

error MSB4095: The item metadata %(Platform) is being referenced without an item name.  Specify the item name by using %(itemname.Platform).
Run Code Online (Sandbox Code Playgroud)

我可以在列表属性上批处理任务吗?我想我可以通过创建一个包含元数据和批处理的占位符ItemGroup来破解它.

msbuild

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

vsvim可以映射密钥到ReSharper.ReSharper_ExtendSelection吗?

我在.vsvimrc中有这些地图,它们按预期工作.我按z后跟/或Shift + /并添加注释.

map <z></> :vsc ReSharper.ReSharper_LineComment<CR>
map <z><?> :vsc ReSharper.ReSharper_BlockComment<CR>
Run Code Online (Sandbox Code Playgroud)

这些都行不通.

map <z><w> :vsc ReSharper.ReSharper_ExtendSelection<CR>
map <z><W> :vsc ReSharper.ReSharper_ShrinkSelection<CR>
Run Code Online (Sandbox Code Playgroud)

我已经尝试将它们映射到各种其他键(包括已被证明可用于其他R#命令的键),但选择不会被扩展.

这可能吗?

resharper vsvim

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

当Visual Studio 2013打开Web项目时,IISExpress会提供空白页面

只要我在Visual Studio 2013 Ultimate中打开我的Asp.net MVC 3项目,IISExpress就会开始提供零字节页面.也就是说,内容长度为0并且请求主体为空.关闭VS,并正确提供页面.

我通常从命令行自己启动IISExpress.它提供我的应用程序没有问题.一旦我在VS 2013中打开我的项目,就会突然显示空白页面.Http响应代码是200.我仍然可以附加然后调试/单步执行.我看到我的控制器抓取数据和构建html的视图.但是空的http请求都是提供的.一旦我关闭VS,它就会再次提供正确的页面.

如果某个动作引发异常,我按预期获得黄色死亡屏幕.

请注意,无需附加VS就会导致此行为,只需在加载项目的情况下运行就足以重现.

我删除了我所知道的任何可能侵入性地挂钩到asp.net运行时的东西,如Glimpse和HibernatingRhinos EF profiler.这不会改变行为.

我还杀死了Microsoft.VisualStudio.Web.Host.exe进程.不改变行为.

我不知道如何继续调试此问题.有任何想法吗?

asp.net .net-4.0 iis-express asp.net-mvc-3 visual-studio-2013

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

为什么这个binary_search函数不返回5?

这个f#程序在int数组上进行二进制搜索,以找到第一次出现的数字.一旦找到数字,它就会打印出位置,然后返回它.然后它打印返回值,但打印不同的数字.我期待相同的数字.它为什么不同?

let int_array = [| 1; 3; 3; 4; 4; 5; 5; 6; 6; 6; 6; 6; 6; 6; 6; 6; 6; 6; 8; 9|]

let binary_search target (array:int[]) = 
    let rec bsearch found_pos start_i end_i  =
        let mid_i = start_i + (end_i-start_i) / 2
        if start_i = end_i then
            printfn "answer is %d" found_pos
            found_pos
        elif array.[ mid_i ] = target then
            bsearch mid_i start_i mid_i-1 
        elif array.[ mid_i ] < target then
            bsearch found_pos (mid_i+1) end_i
        else
            bsearch …
Run Code Online (Sandbox Code Playgroud)

f#

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

在函数内取消引用ref会产生不同的结果.为什么?

在此示例中,正在热切地评估get_final_answer,并始终返回0.0.我认为包含refs的表达式由于其固有的可变特性而被区别对待(并且在这种情况下并未急切评估).我预计它会返回7.0.

let FinalAnswer = ref 0.0
let get_final_answer = !FinalAnswer

let rec eval_expr_fail =
        FinalAnswer := 7.0
        get_final_answer        // fails, returns 0.0

let rec eval_expr_works =
        FinalAnswer := 7.0
        !FinalAnswer           // works, return 7.0
Run Code Online (Sandbox Code Playgroud)

如何在我更新它的块之外取消引用FinalAnswer?

f#

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