Powershell中的默认TabExpansion在命令提示符下循环完成片段的可能完成.在PowerShell主机内部,有一个循环缓冲区,第一个TAB填充缓冲区并在提示符下放置第一个可能的完成.随后的TAB循环可能的完成列表.
如何修改TabExpansion以便在我点击时显示可能的完成集?
另外,我可以从命令提示符中显式调用TabExpansion函数,如果是,如何调用?
(如果您不知道"修改TabExpansion"的含义,请参阅此链接.)
我知道如何查询工作项,虽然我还没有非常成功地找到关于WIQL的信息.有一个基本的例子似乎在各处重复.
我希望能够查询更改集.我可以使用tf.exe,tfpt.exe或..吗?
我有一个包含几个类的托管程序集,这些类有重载方法.我将程序集暴露给COM/IDispatch调用者
[ComVisible(true)]
Run Code Online (Sandbox Code Playgroud)
..还要在装配本身上设置合适的Guid.我没有为COM互操作定义显式接口.这一切都是动态完成的.我运行regasm.exe /codebase托管DLL并将其注册为COM互操作.
当我运行OleView时,我可以看到程序集中各种类的ProgId.但是,浏览这些ProgId并扩展IDispatch节点,这些类没有TypeLib信息.
即便如此,从脚本中,我可以调用接受零参数的方法或接受一个参数的方法.如果还有一个接受多个参数的重载,我不能按名称调用该方法.我得到的错误一直是
Microsoft VBScript runtime error: Wrong number of arguments or invalid property assignment: <methodname>
Run Code Online (Sandbox Code Playgroud)
由此我了解到COM/IDispatch客户端无法正确解析通过COM互操作公开的对象上的重载方法.
然后我补充说
[ClassInterface(ClassInterfaceType.AutoDual)]
Run Code Online (Sandbox Code Playgroud)
......对每个有关的课程.在regasm.exeDLL之后,我可以在IDispatch节点下看到每个方法的typelib信息.
我发现重载方法会自动获得包含附加后缀的名称.MethodX将在自动生成的类型库组件中公开重载,如MethodX,MethodX_2,MethodX_3等.
我发现通过引用具有这些后缀的方法名称,我可以调用重载方法,尽管不是通用名称.
更有趣的是,如果我然后[ClassInterface(ClassInterfaceType.AutoDual)]从类中删除了,我仍然可以通过这种方式调用重载方法,从而避免 Wrong number of arguments or invalid property assignment错误.
我的问题是:这种行为 - 将数字后缀附加到成员名称 - 稳定吗?记录?可信?
我知道如果安装Visual Studio 2005或2008,将安装msbuild.
我知道如果安装.NET Framework SDK,也会安装msbuild.
从.NET 3.0开始,我认为不再有单独的".NET Framework SDK".相反,如果我想要免费的SDK东西 - 所有.NET命令行工具,所有基类库 - 那么我可以下载Windows SDK,并安装它的.NET部分.如果我这样做,我也会得到msbuild工具.(对?)
现在问我的问题:
如果我安装了不包含.NET SDK的Windows SDK的一个或多个部分,我会得到msbuild吗?
我也会得到nmake吗?
如果我没有安装Visual Studio,MSBuild能否构建一个引用.vcproj文件的.sln文件?我知道msbuild可以构建.vbproj和.csproj,但它可以构建.vcproj吗?我还认为对于VS2010,.vcproj文件更改为".csproj格式".但这是来自vs2008的.vcproj.
我正在分发一些源代码,我想描述构建源代码所需的内容.我知道源代码可以使用VS 2008构建.我还想描述如何在没有VS2008的情况下构建它.
谢谢.
我想要一些类似于Gerry Shaw的正则表达式工具,
替代文字http://i29.tinypic.com/2ujm6mv.jpg
...但是对于XPath.
我更喜欢免费的独立工具,基于.NET,WinForms或WPF构建.
编辑:
我在codeplex上找到了这个,符合我的要求,但它有点免费.它甚至没有调整大小.
这是一个术语问题.在C#中,我可以这样做:
delegate Stream StreamOpenerDelegate(String name);
void WorkMethod(StreamOpenerDelegate d)
{
// ...
}
void Exec1()
{
WorkMethod((x) =>
{
return File.OpenRead(x);
});
}
void Exec2()
{
StreamOpenerDelegate opener = (x) =>
{
return File.OpenRead(x);
};
WorkMethod(opener);
}
Run Code Online (Sandbox Code Playgroud)
Q1
Exec1()方法演示了匿名委托的使用,对吗?
Q2
内部Exec2(),将opener
被视为匿名代表?它确实有一个名字.如果它不是匿名代表,我该怎么称呼它?这个语法有名称吗?"命名为匿名代表?" 一个持有匿名代表的局部变量?
我很难搞清楚为什么我的Javascript Custom操作失败了.
我以为我在WIX.chm文件中看到了一个关于调试的主题; 现在我找不到了.
Q1
是否有关于如何调试Javascript或VBScript自定义操作的文档?
Q2
有没有办法从自定义操作向MSI日志中发送内容?
附录:
有些人认为脚本是编写CA的错误工具.
我不同意.我认为Javascript是一个非常好的工具.
我正在构建一个Web服务来接受公司的通知。该公司通知我该服务的结构不正确,并向我提供了可运行的Web服务的.asmx。看起来像这样:
请求:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<AuthenticationInfo
xmlns="http://www.usps.com/postalone/services/UserAuthenticationSchema">
<UserId xmlns="">string</UserId>
<UserPassword xmlns="">string</UserPassword>
</AuthenticationInfo>
<fullServiceAddressCorrectionNotification
xmlns="http://www.usps.com/postalone/services/POCustomerMailXMLServices">string</fullServiceAddressCorrectionNotification>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)
响应:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<FullServiceNixieDetailNotificationResponse
xmlns="http://idealliance.org/maildat/Specs/md091/mailxml70C/mailxml">
<FullServiceNixieDetailNotificationResult>string</FullServiceNixieDetailNotificationResult>
</FullServiceNixieDetailNotificationResponse>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)
我的看起来像这样:请求:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<FullServiceNixieDetailNotification
xmlns="http://idealliance.org/maildat/Specs/md091/mailxml70C/mailxml">
<AuthenticationInfo>
<UserID>string</UserID>
<Password>string</Password>
</AuthenticationInfo>
<fullServiceAddressCorrectionNotification>string</fullServiceAddressCorrectionNotification>
</FullServiceNixieDetailNotification>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)
响应:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<notificationResponse
xmlns="http://www.usps.com/postalone/services/POCustomerMailXMLServices">string</notificationResponse>
</soap12:Body>
</soap12:Envelope>
Run Code Online (Sandbox Code Playgroud)
如您所见,我的东西包裹在一个我需要摆脱的额外元素中。Unfortunatley,我不确定如何执行此操作。我的Web服务代码如下:
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
Imports System.Data.SqlClient
Public Structure AuthenticationInfoType …Run Code Online (Sandbox Code Playgroud) 我有一个带有此条目的xml文件DataConfiguration.xml
<DataSource>
<localdata>
<add context="Localization">
<parameter name="timeout" type="int" defaultvalue="60"/>
<parameter name="address" type="string" defaultvalue="192.168.9.45" />
<parameter name="port" type="int" defaultvalue="6789"/>
</add>
</localdata>
</DataSource>
Run Code Online (Sandbox Code Playgroud)
我需要在"localdata"中添加另一个条目,这样就可以了
<DataSource>
<localdata>
<add context="Localization">
<parameter name="timeout" type="int" defaultvalue="60"/>
<parameter name="address" type="string" defaultvalue="192.168.9.45" />
<parameter name="port" type="int" defaultvalue="6789"/>
</add>
<add context="General">
<parameter name="timeout" type="int" defaultvalue="60"/>
<parameter name="address" type="string" defaultvalue="192.168.9.478" />
<parameter name="port" type="int" defaultvalue="5674"/>
</add>
</localdata>
</DataSource>
Run Code Online (Sandbox Code Playgroud)
我如何在vbscript中添加它?
我的当前代码
'created xml file object
Set xmlDoc = CreateObject("Msxml2.DOMDocument")
xmlDoc.async = False
xmlDoc.preserveWhiteSpace= True
xmlDoc.load("DataConfiguration.xml")
Dim entry
entry = "<add context=""General"">" …Run Code Online (Sandbox Code Playgroud)