2012-03-27 17 views
0

VBでXMLリテラルについて学習しようとしています。以下のコンパイルコンソールアプリケーションテンプレートに基づいて、エラーなしで実行されます「学習」プロジェクトで(と追加された特別なImportsステートメントも参照なし):まだVB.NetのSystem.Xml.Linq.XDocumentの宣言に予期しないエラーが発生しました。

Module Module1 
Sub Main() 
    Dim db As New AdventureWorksDataContext 
    Dim stores = <?xml version="1.0"?> 
       <stores> 
        <%= From vStoreWithDemographics In db.vStoreWithDemographics _ 
         Select <store> 
            <ID> 
             <%= vStoreWithDemographics.BusinessEntityID %> 
            </ID> 
            <Name> 
             <%= vStoreWithDemographics.Name %> 
            </Name> 
            <AnnualSales> 
             <%= vStoreWithDemographics.AnnualSales %> 
            </AnnualSales> 
            <BankName> 
             <%= vStoreWithDemographics.BankName %> 
            </BankName> 
            <SquareFeet> 
             <%= vStoreWithDemographics.SquareFeet %> 
            </SquareFeet> 
            <NumberEmployees> 
             <%= vStoreWithDemographics.NumberEmployees %> 
            </NumberEmployees> 
           </store> 
        %> 
       </stores> 
    stores.Save("c:\stores.xml") 
    Process.Start("c:\stores.xml") 
End Sub 

エンドモジュール

私は繰り返してみましたWindowsフォームアプリケーションに基づく新しいプロジェクトでも同じですが、最後の2つのステートメントにエラーが表示されます(「Declaration expected」と書かれています)、私はコンソールアプリケーションのリファレンスをwinforms私は2つのImportsステートメントを追加しましたが、私はまだエラーが表示される)エラーを指定System.Data.Linqを追加しました。

Imports System.Diagnostics 
Imports System.Xml.Linq.XDocument 
Public Class Form1 
Dim db As New AdventureWorksDataContext 
Dim stores = <?xml version="1.0"?> 
      <stores> 
       <%= From vStoreWithDemographics In db.vStoreWithDemographics _ 
        Select <store> 
           <ID> 
            <%= vStoreWithDemographics.BusinessEntityID %> 
           </ID> 
           <Name> 
            <%= vStoreWithDemographics.Name %> 
           </Name> 
           <AnnualSales> 
            <%= vStoreWithDemographics.AnnualSales %> 
           </AnnualSales> 
           <BankName> 
            <%= vStoreWithDemographics.BankName %> 
           </BankName> 
           <SquareFeet> 
            <%= vStoreWithDemographics.SquareFeet %> 
           </SquareFeet> 
           <NumberEmployees> 
            <%= vStoreWithDemographics.NumberEmployees %> 
           </NumberEmployees> 
          </store> 
       %> 
      </stores> 
    stores.Save("c:\stores.xml")     'error here 
    Process.Start("c:\stores.xml")     'error here 
End Class 

紛失しているものを教えてください。ありがとうございました。

答えて

1

コードの2番目のブロックは、メソッド内にありません。それはSubまたはFunctionの内側にする必要があります:

Public Class Form1 
     Public Sub SomeFoo() 
      Dim db As New AdventureWorksDataContext 
      Dim stores = <?xml version="1.0"?> 
          <stores> 
           <%= From vStoreWithDemographics In db.vStoreWithDemographics _ 
            Select <store> 
                <ID> 
                 <%= vStoreWithDemographics.BusinessEntityID %> 
                </ID> 
                <Name> 
                 <%= vStoreWithDemographics.Name %> 
                </Name> 
                <AnnualSales> 
                 <%= vStoreWithDemographics.AnnualSales %> 
                </AnnualSales> 
                <BankName> 
                 <%= vStoreWithDemographics.BankName %> 
                </BankName> 
                <SquareFeet> 
                 <%= vStoreWithDemographics.SquareFeet %> 
                </SquareFeet> 
                <NumberEmployees> 
                 <%= vStoreWithDemographics.NumberEmployees %> 
                </NumberEmployees> 
               </store> 
           %> 
          </stores> 
      stores.Save("c:\stores.xml") 
      Process.Start("c:\stores.xml") 
     End Sub 
End Class 

そして、あなたのアプリケーションの中でいくつかの点で何かがSomeFooを呼び出します。

関連する問題