C# 如何使用powershell脚本从resx文件中获取键值对?

C# 如何使用powershell脚本从resx文件中获取键值对?,c#,powershell,C#,Powershell,我需要使用powershell脚本从c#resx文件中获取值。是否可以仅使用PS脚本获取这些xml值?我只使用PS脚本编写了一段代码,但它不起作用。代码片段会有所帮助 使用类: ResX示例: 附笔。 ResX文件是XML文件,因此可以使用XPath或其他方法从中获取值 参考资料: 代码片段会有所帮助,你是对的。你能分享一些代码吗? $File = 'c:\path\to\file.resx' # Add assembly containing class, not sure if nee

我需要使用powershell脚本从c#resx文件中获取值。是否可以仅使用PS脚本获取这些xml值?我只使用PS脚本编写了一段代码,但它不起作用。代码片段会有所帮助

使用类: ResX示例: 附笔。 ResX文件是XML文件,因此可以使用XPath或其他方法从中获取值

参考资料:

代码片段会有所帮助,你是对的。你能分享一些代码吗?
$File = 'c:\path\to\file.resx'

# Add assembly containing class, not sure if needed, but wouldn't hurt
Add-Type -AssemblyName System.Windows.Forms 

# Create new ResXResourceSet, pass path to the resx file to the constructor
$ResourceSet = New-Object -TypeName 'System.Resources.ResXResourceSet' -ArgumentList $File

# Get resources
$ResourceSet.GetString('TestString')
$ResourceSet.GetString('AnotherTestString')
<?xml version="1.0" encoding="utf-8"?>
<root>
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <data name="TestString" xml:space="preserve">
    <value>This is some test string...</value>
  </data>
  <data name="AnotherTestString" xml:space="preserve">
    <value>Another test string...</value>
  </data>
</root>
This is some test string...
Another test string...