4

C# コードを使用して nant スクリプトですべての IE インスタンスを強制終了したい:

<target name="clean">  
   <script language="C#" prefix="Cleaning">          
          <references>
              <include name="System.Diagnostics.dll" />
          </references>
                <imports>
                    <import namespace="System.Diagnostics" />
                </imports>
          <code>
            <![CDATA[

              [Function("Delete")]
              public static void KillIe() 
              {                     

                foreach (var process in Process.GetProcessesByName("iexplore"))
                {
                  process.Kill();
                }         

              }
            ]]>
          </code>
      </script>
 <echo message="Calling function: ${Cleaning::KillIe()}"/> 
  </target>    
</project>

このスクリプトを実行すると、次のエラーが発生します。

エラー CS0234: 型または名前空間名 'Process' が名前空間 'System.Diagnostics' に存在しません (アセンブリ参照がありませんか?)

ここで何が問題なのですか?

4

1 に答える 1

4

同様の問題があり、最終的に NAnt コードに次の参照を追加しました。

<script ... >
  <references>
    <include name="System.dll"/>
    ...
  </references>
  <code>
    ...
  </code>
</script>

System.dll明示的に追加する必要があります。デフォルトで含まれるアセンブリのリストにはありません。

于 2012-08-20T09:23:55.010 に答える