这是我的wix
<Binary Id="B.RenameFiles" SourceFile="RenameFiles.bat"/>
<CustomAction Id="CA.RenameFiles" BinaryKey="B.RenameFiles"
ExeCommand="RenameFiles.bat" Execute="immediate" Return='ignore'/>
<InstallExecuteSequence>
<Custom Action="CA.RenameFiles" Before="InstallValidate"></Custom>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)
这不起作用并在msi日志中发出错误"无法运行此安装所需的程序".我不确定这是否可行,或者二进制文件仅用于exe和dll等.
我现在这样做的方法是安装bat文件,然后从那里运行它,但如果我可以将它用作二进制文件而不是在本地机器上安装它将更整洁.
谢谢尼尔
我正在尝试启动并运行日志记录项目,并且难以使网络日志记录正常工作.我为NLog写了一个简单的包装器,所以我可以创建一个项目,我只是添加到我所有的其他项目中.
我有一个简单的控制台程序来测试它
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Testing Nlog");
var logger = new Logger("Program");
int index = 0;
while (index < 1000)
{
Console.WriteLine("Testing Testing 1..2..3..");
logger.Debug("Testing Testing 1..2..3..");
index++;
Thread.Sleep(5000);
}
Console.ReadLine();
}
}
Run Code Online (Sandbox Code Playgroud)
以及以下配置文件
<nlog>
<targets async="true">
<target name="n4" xsi:type="Network" address="tcp://localhost:877"/>
<!--<target name="logfile" xsi:type="File" fileName="file.txt" />-->
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="n4" />
<!--<logger name="*" minlevel="Trace" writeTo="logfile" />-->
</rules>
</nlog>
Run Code Online (Sandbox Code Playgroud)
我已经进入防火墙并打开了udp和tcp 877端口.
如果我将日志记录从文件切换到工作状态它工作正常,但是当我尝试使用网络日志记录并使用log4view查看日志时,我什么也得不到.我尝试了很多ipaddresses和主机名试图让它注销.
我之前使用过log4view,它似乎很简单,可以创建tcp或udp接收器,所以我有点不知道出了什么问题.
如果有人能够解决问题或看到任何错误,我将非常感激
谢谢尼尔
我有这个工厂类,它将一个对象Foo列表转换成Bar对象.Foo是一个非常复杂的对象,我将其展平为一个简单Bar对象列表.有大约60个不同的数据位可以从a Foo转换为a Bar.以下实现有效,但这里有明确的改进余地.
public class FooToBarsConverter
{
public List<Bar> Convert(Foo foo)
{
return Enum.GetValues(typeof(BarTypeEnum))
.Cast<BarTypeEnum>()
.Select(barType => CreateBar(foo, barType))
.Where(newBar => newBar != null)
.ToList();
}
public Bar CreateBar(Foo foo, BarTypeEnum barType)
{
switch (barType)
{
case BarTypeEnum.TypeA:
return CreateTypeA(foo);
case BarTypeEnum.TypeB:
return CreateTypeB(foo);
}
return null;
}
private Bar CreateTypeA(Foo foo)
{
return new Bar(...);
}
private Bar CreateTypeB(Foo foo)
{
return new Bar(...);
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望每次添加新的BarType时都不必为开关编写新的案例.也许是类型和委托函数的字典,但仍然需要映射各种类型?是否有任何我可以利用的语言功能来避免这种切换情况使编译器选择创建创建函数?
假设你不介意工厂方法是静态的,这确实可以使它不需要创建大约60个子类来让类型系统为我工作.我认为如果你把它func与工厂一起使用也不需要静力学,但我还没有那么远.静态不会特别困扰我只是数据转置
private …Run Code Online (Sandbox Code Playgroud) 目前我正在使用specflow,selenium,流畅的自动化和xunit的组合来测试我在Chrome网站的部署实例上的浏览器应用程序.这在开发人员计算机上运行良好,但是除了构建服务器代理很慢之外,构建服务器代理经常出现故障.
我已经遍布phantom.js 文档我很难理解我是否可以使用phantom.js来完全测试我的应用程序.
我的应用程序有很多javascript逻辑,我使用requirejs加载我的所有模块,我想知道我是否可以使用幻影的无头浏览器功能来测试它的所有功能.它会下载所有的javascript文件,然后允许我在dom上执行操作,比如启动包含表单的模式吗?很多UI都是用挖空模板构建的.
我已经完成了一些搜索,但没有任何确定性.有没有人对此有任何建议?此时我对跨浏览器测试并不感到困扰,我们已经获得了手动QA.这只是通过所有用户故事的ui自动化失败的快乐路径早期预警系统.
在所有这些结束时,我做了一些非常有用的更改
jQuery.activeacceptance-testing ui-automation jasmine phantomjs fluentautomation
我想通过在函数参数中指定我搜索的Foo的属性来使这个函数更通用.目前,我必须为Foo的每个属性提供一个函数,而不仅仅是一个泛型函数.
private Func<Foo, bool> ByName(bool _exclude, string[] _searchTerms)
{
if (_exclude)
{
return x => !_searchTerms.Contains( x.Name.Replace(" ", "").ToLower() );
}
return x => _searchTerms.Contains( x.Name.Replace(" ", "").ToLower() );
}
Run Code Online (Sandbox Code Playgroud)
是否可以使此函数更通用,以便能够传递Foo的搜索属性?
巧妙地使用我安装了ruby和ruby.devkit
cinst ruby
cinst ruby.devkit
Run Code Online (Sandbox Code Playgroud)
然后我按照github wiki上的说明进行操作,并在第5点详细测试了devkit
gem install json --platform=ruby
ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
Run Code Online (Sandbox Code Playgroud)
这工作正常,所以我认为我的devkit安装是正确的.但是当我尝试安装mysql gem时就是这样
gem install mysql --platform=ruby -- --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
This could take a while...
ERROR: Error installing mysql:
ERROR: Failed to build gem native extension.
C:/ruby200/bin/ruby.exe extconf.rb --with-mysql-dir=C:/mysql-connector-c-noinstall-6.0.2-win32
checking for main() in -llibmysql... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for …Run Code Online (Sandbox Code Playgroud) mix test --color在我的项目中,我可以运行向终端添加一些彩色输出的命令。我想在全局范围内设置它,这样我就可以运行mix test它,它会自动识别我想要的输出颜色。
我尝试过的...
mix help,但看不到任何有关全局配置的信息。mix help test,但我似乎不清楚如何将选项添加到文件中mix.exs,或者是否可以在某处设置全局选项。我觉得这可能是可能的,但在没有提出任何建议后,我想我会在这里问。