私はビルドプロセスを自動化しようとしています。これを行うには、コードに対してNUnitテストを実行できるように、asp.Netウェブサイトのapp_codeをdllにコンパイルする必要があります。私はクラスライブラリを使用することを提案する前に、私はあなたと同意すると言っていますが、私の上司は別の見方をして、私たちのWebサイトでDLLの使用を拒否しました。NANTまたはcsc.exeにWebサービスへの参照を含めるにはどうすればよいですか?
問題点は、app_codeクラスがWebサービスを参照していることです。コードをクラスライブラリにコンパイルするときに、これらを含めるにはどのようにしてcscタスクを取得しますか?私が今まで持っていたナントターゲットは:
<target name="Compile">
<property name="nant.settings.currentframework" value="net-3.5" />
<csc target="library" output="DocSysAppCode.dll" debug="true">
<sources>
<include name="D:\Inetpub\DocSys\App_Code\Common\*.cs" />
<include name="D:\Inetpub\DocSys\App_Code\DocSys\SiteLegislation.generated.cs" />
</sources>
<resources>
<include name="D:\DocSysQueue\Web References\WS_DocSys\*.*" />
<include name="D:\DocSysQueue\app.config" />
</resources>
</csc>
</target>
私の目標を達成する別の方法がある場合は、私に知らせてください。あなたが最も可能性が高い後は、Webサービスプロキシクラスを生成し、プロジェクトににそのコンパイルされているもの
アル
この質問を投稿した直後に私はwsdl.exe –
を発見しました。これは.NETプロジェクトの「サービス参照」の有効な方法ですか?私はプロキシクラスを使用する必要があるか、実際には "サービス参照"オブジェクトを直接参照する必要があるのか混乱していますか? – D3vtr0n
@devtron:タスクは、私があなたが参照していると仮定しているWCFベースのサービスではなく、Webサービス用です。 WCFサービス参照は、ServiceModelメタデータユーティリティ(svcutil.exe)によって生成されます。 タスクを使用して、svcutil.exeを呼び出して、生成された出力ファイルをソースブロック(MyProxy.csと同様)に含めることができます。 –