我希望这个小的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输出,使其在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)
我希望日志中的大块可以在树视图中折叠.
我在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树中明显不同的位置,但修订号相同.
如何获取分支特定的修订号?
我想声明一个边缘代表连续状态的所有状态的图形.我认为我想要做的事情可能被称为"打结"(虽然不确定).它不像我预期的那样工作,我有几个问题.
首先,我想要一个具有字符串名称和连续状态列表的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'和'和'关键字可以让它发挥作用.我可以定义这个自引用图吗?如果是这样,怎么样?
我正在使用TeamCity使用Web Deploy 3在IIS网站上构建和部署文件.
我想在完成后添加一个调用url的步骤,以便在部署完成时刷新自定义缓存.
有没有办法可以添加构建步骤来调用网址?
谢谢
Chocolatey 将.exe
它在我的包安装目录中找到的任何内容添加到路径(wiki 中的第 3 步)。如何为.exe
我的包中的给定禁用此功能?这.exe
是一个 Windows 服务,无需将其添加到路径中。
在TeamCity构建配置中,我们可以通过%propertyname%语法访问构建的各种属性.例如,%env.BUILD_NUMBER%.
但似乎缺少一个,这是当前构建ID的属性.也就是说,分配给每个构建的唯一标识符.这就是TeamCity REST API称之为"内部构建ID"的内容.不要与BUILD_NUMBER(更像是标签)混淆,也不要与"构建类型ID"(这是分配给构建配置的唯一ID)混淆.
我正在寻找关于如何打包我的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来操作吗?
谢谢
我有一个属性组,如下所示:
<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来破解它.
我在.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#命令的键),但选择不会被扩展.
这可能吗?
只要我在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
这个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) 在此示例中,正在热切地评估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?
teamcity ×4
f# ×3
asp.net ×2
chocolatey ×2
powershell ×2
.net-4.0 ×1
iis-express ×1
msbuild ×1
resharper ×1
svn ×1
topshelf ×1
vsvim ×1