svcutilを使用して、参照された型をVisual Studioと同様に再利用/除外することは可能ですか?svcutil再アセンブリの除外/再利用
私のタイプ/データモデルは別々のアセンブリに格納されているので、他の非wcfプロジェクトなどでも使用できます。ビジュアルスタジオGUIでリフレッシュを更新すると、すべてうまくいきます。境界の両側に型がある限り、それはプロキシで定義されたbeeingから除外されます。
svcutilを使用して同じことを達成するにはどうすればよいですか?
もっと明確に私は、dirからservicecontractを含む実行中のサービスではなく、プロキシを生成したいと思います。同時に私は共有タイプを含むdllファイルをフィードしたいが、これはプロキシで定義されたbeeingから除外されるべきである。
この理由は、自分のプロジェクトをビルドサーバーで更新してビルドできるようにするためです。
編集: 最初にあなたの返信とパラメータの提案をありがとうございます。しかし、私はあなたの指示に従ってアセンブリを再利用することはありません。ここで
は私が生成するためのすべてのフラグを除外しまし作られた.batファイルの一部であるINotifyPropertyChangedのなど
SET BACKENDROOT=C:\SomePath\Development\Backend\bin
SET DATAMODELSBASE=C:\SomePath\Development\DataModels\bin
SET COMMONBASE=C:\SomePath\Development\Common\bin
SET REFRENCED_ASSEMBLIES=/r:%DATAMODELSBASE%\Jall.DataModels.Consignment.dll
svcutil %BACKENDROOT%\Jall.Backend.Consignment.DLL /t:metadata
svcutil /o:test.cs %REFRENCED_ASSEMBLIES% *.wsdl *.xsd
結果は次のようになります
[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/KSD.DataModels.Consignment")]
public partial class ExtInvoice : OrmBase
{
private System.DateTime buyersOrderDateField;
private bool buyersOrderDateFieldSpecified;
private string buyersOrderNumberField;
private string compCodeField;
.....
をし、クライアントに自己:
public Address CreateNewAddress(int TK, string AddressType)
これはdatamodelsがプロキシに直接生成されている間違っています。クライアントはそれらをスキップするだけでなく、型に適切な名前空間を使用します。正しい結果は次のようになります。
public Jall.DataModels.Consignment.Address CreateNewAddress(int TK, string AddressType)
(名前は:) scrambeledされている)
Brgds、 スティアン
こんにちはご回答ありがとうございました。指定されたコマンドでutilを実行すると、正しい名前空間からそれらを参照するのではなく、プロキシで部分クラスが生成されます。 –
2番目(コード生成)で 'reference'スイッチを指定するだけでなく、' excludeType'も指定すればどうなりますか?例: 'svcutil/reference: /excludeType:name.space.type1 /et:name.space.type2 * .wsdl * .xsd'です。 –
shambulator
良い服用!しかし、私はまったく同じ結果を得ています。 –