gpt4 book ai didi

c# - 为什么PowerShell不能 'understand'响应文件的说明?

转载 作者:行者123 更新时间:2023-12-03 01:19:27 30 4
gpt4 key购买 nike

我创建了以下响应文件(我遵循本文中找到的示例:Working with the C# 2.0 Command Line Compiler):

# MyCodeLibraryArgs.rsp
#
# These are the options used
# to compile MyCodeLibrary.dll

# Output target and name.
/t:library
/out:MyCodeLibrary.dll

# Location of C# files.
/recurse:*.cs

# Give me an XML doc.
/doc:myDoc.xml

然后,我尝试使用PowerShell中的C#编译器(csc.exe)执行它:
csc @MyCodeLibraryArgs.rsp

然后,它生成以下错误:
Cannot expand the splatted variable '@MyCodeLibraryArgs'. Splatted variables 
cannot be used as part of a property or array expression. Assign the result of
the expression to a temporary variable then splat the temporary variable instead.
At line:1 char:23 + csc @MyCodeLibraryArgs <<<< .rsp
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : NoPropertiesInSplatting

因此,我决定使用提示(命令行),它可以正常工作。

PowerShell(v.3.0)引起此问题的原因是什么?

预先感谢您的回复和评论。

最佳答案

@是powershell中用于“散布”变量的特殊语法。你想这样逃避@

 csc `@MyCodeLibraryArgs.rsp

Splatting允许您在哈希表中传递cmdlet参数。如果要动态构建要传递的参数,这很方便。如果有很多参数,它也可能更具可读性。有关喷射 here的更多信息。

关于c# - 为什么PowerShell不能 'understand'响应文件的说明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18928835/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com