我正在尝试通过TeamCity运行一个简单的Watin测试,但Internet Explorer窗口永远不会显示,因为通常是通过CruiseControl.
我收到一个错误,它无法找到文本字段,因此正在运行.但是我看不到没有窗户的东西.
是否需要对TeamCity服务器的设置进行特定更改?
我正在使用"invoke-command"在远程计算机上执行脚本.
invoke-command -computername <server_name> -scriptblock {command to execute the script}
Run Code Online (Sandbox Code Playgroud)
当有任何错误时,我的脚本返回"-1".所以,我想通过检查返回代码来确保脚本已成功执行.
我尝试如下.
$code = invoke-command -computername ....
Run Code Online (Sandbox Code Playgroud)
但它什么也没有回报.
不Invoke-command捕获脚本块的返回码?
还有其他方法可以解决这个问题吗?
什么是.NET中的托管模块?它与Assemblies有何不同?PE文件(例如test.dll)是托管模块还是程序集?汇编/托管模块如何与磁盘上的物理文件相对应?
关于FileSystemWatcher的一直困扰我的事情之一是它为文件的单个逻辑更改触发多个事件的方式.我知道它为什么会发生,但我不想要关心 - 我只想重新整理文件一次,而不是连续4-6次.理想情况下,只有在给定文件完成更改时才会触发事件,而不是沿途的每一步.
多年来,我已经提出了各种解决方案来解决这个问题,不同程度的丑陋.我认为Reactive Extensions将是最终解决方案,但是我做得不对,我希望有人可以指出我的错误.
我有一个扩展方法:
public static IObservable<IEvent<FileSystemEventArgs>> GetChanged(this FileSystemWatcher that)
{
return Observable.FromEvent<FileSystemEventArgs>(that, "Changed");
}
Run Code Online (Sandbox Code Playgroud)
最终,我希望在给定的时间段内为每个文件名获得一个事件 - 这样一行中具有单个文件名的四个事件将减少为一个事件,但如果同一个文件被修改,我不会丢失任何内容时间.BufferWithTime听起来像是理想的解决方案
var bufferedChange = watcher.GetChanged()
.Select(e => e.EventArgs.FullPath)
.BufferWithTime(TimeSpan.FromSeconds(1))
.Where(e => e.Count > 0)
.Select(e => e.Distinct());
Run Code Online (Sandbox Code Playgroud)
当我订阅这个observable时,对受监视文件的单个更改会连续四次触发我的订阅方法,这相当于失败了.如果我删除了Distinct()呼叫,我看到四个呼叫中的每一个都包含两个相同的事件 - 所以有一些缓冲正在进行.增加TimeSpan传递给BufferWithTime似乎没有任何影响 - 我高达20秒没有任何行为改变.
这是我第一次涉足Rx,所以我可能错过了一些明显的东西.我做错了吗?有更好的方法吗?谢谢你的任何建议......
我的VS.NET 2008解决方案需要更长的时间来编译(ASP.NET 3.5 + ASP.NET MVC 2 + C#),我想知道是否有办法知道哪个项目需要更长的编译时间以及为什么?我禁用了一些项目的编译,这有助于减少构建时间,但我希望它更快.
我有几个WorkerRole只能在短时间内完成工作,将它们分别放在一个实例中是浪费钱.我们可以将它们合并为一个,但它会变得混乱,并且在不久的将来它们应该在负载增加时独立工作.
有没有办法WorkerRole像创建"多站点"一样创建"多角色" WebRole?
在否定的情况下,我认为我可以创建一个"主工作者角色",它能够从给定文件夹加载程序集,查找具有反射的RoleEntryPoint派生类,创建实例并调用.Run()或.OnStart()方法.这种"师傅的角色",也将被再次抛出意外的异常,并呼吁.OnStop()在所有子RoleEntryPoint■当.OnStop()是所谓的大师之一.会有用吗?我应该注意什么?
我有一个创建字符串数组string []的问题,每次创建3个值但我希望能够控制它.
我在用
var tst = fixture.Create<string[]>();
Run Code Online (Sandbox Code Playgroud)
我也研究过使用CreateMany但似乎返回了一种IEnumerable.
有人有主意吗 ?
我一直在关注Stephen Cleary在MSDN杂志(异步MVVM应用程序模式)中的一系列相当优秀的文章,并一直IAsyncCommand在"hello world"风格的应用程序中使用他的模式.
但是,他没有解决的一个领域是当需要传入命令参数时(使用此模式).对于一个简单的示例,请考虑身份验证,其中出于安全原因,密码控件可能不受数据限制.
我想知道是否有人设法让他的AsyncCommand参与工作,如果是这样,他们会分享他们的发现吗?
我正在使用VS2005在不同项目中混合使用VB和C#的解决方案.
我在几台不同的计算机上使用这个解决方案,并且///(c#)和'''(VB)的XML注释已经好几个月了.
突然之间,在我的主要开发机器上,他们已经停止在VB中工作了.他们仍然在C#中工作.
他们也在其他项目中工作(在VB中).这只是这个解决方案中的所有VB项目.
有没有人有任何想法?
我无法确定它何时停止工作,因为我没有修改大部分VB代码数周/月.
我有一些类没有实现某个接口,但在结构上符合该接口.
interface IFoo {
void method();
}
class Bar { // does not implement IFoo
public void method() {...}
}
Run Code Online (Sandbox Code Playgroud)
现在,我可以围绕那些简单地委托给包装类的类编写一个包装器
class BarWrapper : IFoo {
Bar bar = new Bar();
public void method()
{
bar.method();
}
}
Run Code Online (Sandbox Code Playgroud)
但那是很多繁琐的工作.那些包装类可以自动生成吗?就像是:
IFoo foo = CreateWrapper<IFoo>(new Bar());
我相信你可以用Reflection.Emit做到这一点,但我从来没有用过它,乍一看它看起来并不容易.
有没有更简单的方法,或者是否有一个库已经实现了这个?
c# ×4
.net ×3
async-await ×1
asynchronous ×1
autofixture ×1
azure ×1
build ×1
comments ×1
msbuild ×1
mvvm ×1
powershell ×1
return-value ×1
teamcity ×1
vb.net ×1
watin ×1
wpf ×1
wrapper ×1