代码之家  ›  专栏  ›  技术社区  ›  personaelit

VB.NET XML文本表达式应为Linq to XML

  •  0
  • personaelit  · 技术社区  · 15 年前

    我有和中所述相同的问题 this question 但是被接受的解决方案有一个“在我的机器上工作”的答案。

    这是我的代码:

    Dim document As XDocument = _
    <?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>
                <GetUser xmlns="http://foo.com/bar.asmx">
                    <encryptedHash>HashString</encryptedHash>
                    <accessKey>AccessString</accessKey>
                    <siteUID>SiteString</siteUID>
                </GetUser>
            </soap12:Body>
        </soap12:Envelope>
    

    我收到错误:bc30201:应为表达式。

    有没有人更详细地知道什么会导致这种情况?

    1 回复  |  直到 15 年前
        1
  •  1
  •   personaelit    15 年前

    好啊, Rubber Duck debugging ——

    即使项目被设置为目标.NET 3.5,无论出于什么原因,web.config都会丢失:

     <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
                type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
                type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
                warningLevel="4">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="OptionInfer" value="true"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
    

    所以我想它不是在3.5里运行的。一旦我将上述内容添加到web.config中,它就会编译。

    推荐文章