1

svcutil を使用して、XSD からマネージ C++ コードを生成しようとしています。私が使用しているコマンドラインは

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\xsd.exe" MyTest.xsd /classes /language:"Microsoft.VisualC.CppCodeProvider7, CppCodeProvider, Version=10.0.0.0, Culture=ニュートラル、PublicKeyToken=b03f5f7f11d50a3a" /namespace:MyTestApp

ただし、次のようなエラーメッセージが表示されます

エラー: スイッチ /language の値 'microsoft.visualc.cppcodeprovider7, cppcodeprovider, version=10.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a' が無効です。言語に定義された codedom プロバイダーはありません。

Visual Studio のインストールの一部として CppCodeProvider がインストールされていることは知っています。/language:cpp も試してみましたが、役に立ちませんでした。同じ XSD で問題なく C# でコードを生成できました。

私が間違っていることを誰かが知っていますか?

4

1 に答える 1

2

svcutil.exe の MSDN ライブラリの記事に明確に記載されています。

/language:<language>

値: c#、cs、csharp、vb、visualbasic、c++、cpp

デフォルト: csharp

短縮形: /l

注: スイッチは、Visual Studio 2005 SP1 に同梱されているコード プロバイダーの C++ のみをサポートします。

当時は.NET 2.0 SDKに付属していたと思います。それ以外の問題ではありません。それ以来、言語は変更されていません。csharp を使用しないのはなぜですか? .NET で簡単に言語を混在できることは、.NET の大きな利点の 1 つです。

于 2010-07-20T23:02:49.517 に答える