フレームワークの残りの部分がそのデータを取得するために依存する Web サービス クラスがありますが、Web サービス クラスには、その環境に応じて異なるメソッド属性が必要です。たとえば...
[SoapDocumentMethodAttribute("https://example",...)]
public string Test()
{
//doSomething
}
「 https://example」を参照してください。環境に応じて変更する必要があります。私の知る限り、実行時にその文字列を動的にすることはできません。そのようにコンパイルする必要があります。そのため、この Web サービス用に複数の CS ファイルがあり、それらに異なる属性 URL がハードコーディングされ、MSBuild がプリコンパイル時にそれらを交換するようにしようとしています。したがって、テスト用のベース "Service.cs"、運用環境用の "Service.cs.production" などがあります。
- これはこれを行うための最良の方法ですか、それとも環境を独自に処理する 1 つの CS を持つことができる何かが欠けていますか?
- 同じクラス名を保持し、IntelliSense があいまいであると考えないようにするために、ファイル拡張子 ("Service.cs" と "Service.cs.production") をいじっています。それが唯一の方法ですか?
- 上記のすべてが問題ないことを考慮し、「Production」構成に対してコンパイルしています.Service.csの代わりにService.cs.productionをコンパイルすると、すべてがうまくいきますか?
ありがとう!