小编F R*_*ell的帖子

将Powershell中的命令输出捕获为字符串而不是字符串数组

我试图捕获运行外部命令的输出作为字符串,但Powershell返回的结果始终是一个字符串数组.据我所知,Powershell将输出拆分为换行符(Windows或Unix行结尾)并将结果存储在数组中,但我希望保留这些换行符,因为这是用于svn预提交钩子脚本来检测是否存在已提交的文件具有混合行结尾.

$output = svnlook cat -t $transId -r $repos $filename
Run Code Online (Sandbox Code Playgroud)

此时,行结束已被剥离,并且$output是一个字符串数组,每行输出一个.

重定向到文件似乎不起作用,因为这标准化了行结尾.你怎么告诉Powershell不分割命令的输出?

谢谢!

powershell

4
推荐指数
3
解决办法
7985
查看次数

XamlReader - 将多个CLR名称空间映射到单个XML名称空间

我有一个WPF项目,AssemblyInfo.cs它将多个CLR名称空间组合到一个XML名称空间中:

[assembly: XmlnsDefinition("http://foo.bar", "MyLibary.Controls")]
[assembly: XmlnsDefinition("http://foo.bar", "MyLibary.Converters")]
Run Code Online (Sandbox Code Playgroud)

在XAML中,这样使用:

<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:fb="http://foo.bar">
    <fb:FooButton IsEnabled="{Binding Something, Converter={fb:FooConverter}}"/>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

当XAML正常实例化时,这很有用,但现在我正在尝试使用我的项目动态加载XAML文件XamlReader.

问题:我似乎无法将多个CLR命名空间映射到单个XML命名空间.似乎添加到最后一个定义XamlTypeMapper是唯一一个持续存在的定义(例如,它破坏了以前的注册):

var parserContext = new ParserContext();
parserContext.XmlnsDictionary.Add("x", "http://schemas.microsoft.com/winfx/2006/xaml");
parserContext.XmlnsDictionary.Add("fb", "http://foo.bar");

parserContext.XamlTypeMapper = new XamlTypeMapper(new string[] {"MyLibrary"});
parserContext.XamlTypeMapper.AddMappingProcessingInstruction("http://foo.bar", "MyLibrary.Converters", "MyLibrary");
parserContext.XamlTypeMapper.AddMappingProcessingInstruction("http://foo.bar", "MyLibrary.Controls", "MyLibrary");

...

var rootNode = XamlReader.Load(memeoryStream, parserContext) as FrameworkElement
Run Code Online (Sandbox Code Playgroud)

错误消息是:

'Cannot create unknown type '{http://foo.bar}MyConverter'.'
Run Code Online (Sandbox Code Playgroud)

如果所有代码都放在一个共同的CLR命名空间下,一切正常,但不幸的是,这不是选项.是否有人将多个CLR名称空间映射到单个XML名称空间,以便动态加载XAML内容?

提前致谢!

wpf xaml xamlreader

3
推荐指数
1
解决办法
2501
查看次数

标签 统计

powershell ×1

wpf ×1

xaml ×1

xamlreader ×1