我可能不会问一个具体示例的通用问题,但我很难将一些基本命令从PowerShell控制台转换为可重用的函数和自定义cmdlet.有没有关于PowerShell语法的权威指南,有问题,提示和技巧?
例如,我正在尝试创建一个函数,以便自动管理BizTalk主机实例.以下函数不起作用(在运行时失败),而单独粘贴在PowerShell控制台中时,每个单独的行都按预期工作.
function AddNewHostInstance([string]$ServerName, [string]$HostName, [string]$Login, [string]$Password)
{
[System.Management.ManagementObject]$objServerHost = `
([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_ServerHost").CreateInstance()
$objServerHost["ServerName"] = $ServerName
$objServerHost["HostName"] = $HostName
$objServerHost.Map()
$name = "Microsoft BizTalk Server " + $HostName + " " + $ServerName
[System.Management.ManagementObject]$objServerHost = `
([WmiClass]"root/MicrosoftBizTalkServer:MSBTS_HostInstance").CreateInstance()
$objHostInstance["Name"] = $name
$objHostInstance.Install($Login, $Password, $True)
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我在这个特殊情况下收到的错误是这样的:
PS C:\Users\username> createHostInstances $server, $host, $user, $pwd
Exception calling "Map" : "Invalid parameter "
At line:14 char:39
+ $objServerHost.Map <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WMIMethodException
Exception calling "Install" : …Run Code Online (Sandbox Code Playgroud) hej.h
void hej();
Run Code Online (Sandbox Code Playgroud)
hej.m
void hej(){}
Run Code Online (Sandbox Code Playgroud)
main.mm
#import "hej.h"
int main(int argc, char *argv[])
{
}
Run Code Online (Sandbox Code Playgroud)
这给了我:
"hej()",引自:未找到main.o符号中的_main
如果我将main.mm重命名为main.m(单个m),或者将hej.m重命名为mm或cpp,那么它可以正常工作.(虽然这些"解决方案"都不是优选的.想象一下你想在objc ++环境中使用c-lib - 你不想改变整个lib,甚至可能不会,你需要在objc ++中使用它. )
到底发生了什么?
我想知道编写一个针对程序员的标准(例如 JSON)需要什么以及从哪里开始?
有人有这方面的实践经验吗?
我有一台Mac,我可以运行Leopard(10.5)或Snow Leopard(10.6)版本的OS X. 在将文件发布到生产主机之前,我正在使用它进行Web开发/测试.
在生产主机上,我的网站的doc根位于主目录下(例如/ home/stimulatingpixels/public_html),我想在Mac上复制该位置.不幸的是,它们是Mac上的隐藏和锁定占位符,看起来像一个装载的驱动器,其中没有任何东西位于/ home位置.
我从经验中知道移动它并放入你自己的/ home目录是不明智的,因为升级会导致它被删除(顺便说一下,它不会存储在TimeMachine备份中).
那么,问题是,无论如何要在Mac上安全地使用/ home Leopard或Snow Leopard?
(注意:我意识到这是非常特定于Mac的,并且也会在Apple论坛中提出这个问题.除了涵盖所有基础之外,我想在这里问一下.)
更新:为了帮助描述我想要这样做的原因,除了前端网站之外,我还有一系列我想要运行的脚本.一个与能够使用/ home目录(并且更具体地从服务器根相同的路径)的主要目标是,使得可以使用开发MAC以及可以在生产服务器上使用的相同的输出路径.我知道有办法解决这个问题,但我宁愿不必处理它.真正的目标是让开发Mac上的所有文件与目录树的/ root具有相同的文件路径作为生产服务器.
另一个更新:我之前忘记提及的另一个原因是在使用基本身份验证时设置.htaccess路径.由于这些路径来自文件系统根目录而不是网站docroot,因此当它们是树的一部分时,它们最终会通过"/ home".
我有一个深色背景的菜单div.在它内部,我有几个菜单项div,右边和左边有1px边距.这样我就有了它们之间的分隔符.显然这些出现在我不想要的菜单的左侧和右侧.有没有办法在不插入1像素div作为分隔符的情况下实现这一目的?
谢谢
编辑:对不起,我认为它足够描述.这是代码:
<div id="menu">
<a href="#"><div class="menu_item"><img src="imgs/menu/szabalyzat.png" /></div></a>
<a href="#"><div class="menu_item"><img src="imgs/menu/profil.png" /></div></a>
<a href="#"><div class="menu_item"><img src="imgs/menu/zenekarok.png" /></div></a>
<a href="#"><div class="menu_item"><img src="imgs/menu/jelentkezes.png" /></div></a>
<a href="#"><div class="menu_item"><img src="imgs/menu/esemenynaptar.png" /></div></a>
<a href="#"><div class="menu_item"><img src="imgs/menu/mmmk_estek.png" /></div></a>
</div>
Run Code Online (Sandbox Code Playgroud)
IE6不兼容是可以的(谢天谢地).
当有人做一个擦除手势从左到右滚动内容时,我想让背景图像滚动到同一方向,但速度不同.就像20年前这些经典游戏所做的那样(记住,任何人????)
我正在使用对话框主题集的活动,我希望它是全屏的.我尝试了各种各样的东西,甚至通过WindowManager手动将窗口扩展到全宽和高度,但没有任何作用.
显然,对话框窗口(或具有对话框主题的活动)将仅根据其内容进行扩展,但即使这样也不总是有效.例如,我显示了一个进度条圆,其宽度和高度设置为FILL_PARENT(其布局容器也是如此),但是,对话框仍然围绕着更小的进度条而不是填充屏幕.
必须有一种方法可以在对话框窗口中显示一些小的内容,但是在没有内容调整大小的情况下将其扩展到全屏大小?
我有一个使用Qt构建的应用程序.它将在具有两个(或更多)网卡的计算机上运行.我需要能够为我的应用程序选择TCP连接的以太网接口.在任何人提出建议之前,我无法保证路由表的设置是否正确.我知道如何使用Windows套接字类来执行此操作,但无法为Qt找到任何有关它的内容.任何帮助将不胜感激!
我想在我的C代码中访问DeleteFile WINAPI系统调用.检查Windows文件管理功能时,它只概述了C++语法:
C++
BOOL WINAPI DeleteFile(
__in LPCTSTR lpFileName
);
Run Code Online (Sandbox Code Playgroud)
我想知道的是如何在纯C代码中使用此功能?我从来没有对winapi做过任何事情,我只需要包含winapi.h就可以了吗?
我试过了明显的事:
var appDomain = AppDomain.CreateDomain("New Domain");
var engine = IronPython.Hosting.Python.CreateEngine(appDomain); // boom!
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误消息:成员'Microsoft.Scripting.Hosting.ScriptRuntimeSetup,Microsoft.Scripting,Version = 0.9.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'的类型未解析.
谷歌搜索这个错误并没有证明是富有成效的...
编辑#1:
我试图通过将相关内容复制到新的控制台应用程序来创建一个最小的复制项目:
using System;
using Microsoft.Scripting;
namespace PythonHostSamle
{
class Program
{
static void Main(string[] args)
{
AppDomain sandbox = AppDomain.CreateDomain("sandbox");
var engine = IronPython.Hosting.Python.CreateEngine(sandbox);
var searchPaths = engine.GetSearchPaths();
searchPaths.Add(@"C:\Python25\Lib");
searchPaths.Add(@"C:\RevitPythonShell");
engine.SetSearchPaths(searchPaths);
var scope = engine.CreateScope();
//scope.SetVariable("revit", _application);
//engine.Runtime.IO.SetOutput(new ScriptOutputStream(_instance), Encoding.UTF8);
//engine.Runtime.IO.SetErrorOutput(new ScriptOutputStream(_instance), Encoding.UTF8);
var script = engine.CreateScriptSourceFromString("print 'hello, world!'", SourceCodeKind.Statements);
script.Execute(scope);
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这按预期工作!
因此,我得出的结论是,我得到的错误与我注释掉的一行 …