0

Azureにデプロイしたいサービスがいくつかあります。各サービスには、サービスがあるプロジェクトに配置されるxsdスキーマがあります。検証モジュールでは、次の方法でスキーマをロードしようとします。

XmlSchemaSet schemaSet = new XmlSchemaSet();
Uri baseSchema = new Uri(AppDomain.CurrentDomain.BaseDirectory);
string mySchema = new Uri(baseSchema, "LogInService.xsd").ToString();
XmlSchema schemaLogIn = XmlSchema.Read(new XmlTextReader(mySchema), null);
schemaSet.Add(schemaLogIn);

...しかし、明らかにパスAppDomain.CurrentDomain.BaseDirectoryが正しくなく、サービスをデプロイしようとすると、次のエラーが発生します。

Could not find file 'F:\sitesroot\0\LogInService.xsd'

(開発では、このコードは完全に機能しています)

私の質問は、xsdファイルをどこに置くべきかということです-または、クラウドで動作するように上記のコードを変更するにはどうすればよいですか?

4

1 に答える 1

0

あなたのパスは正しいと思います。おそらく、アップロードされているパッケージに xsd が含まれていないことが原因です。ファイルのプロパティ、特にビルド アクション プロパティをチェックして、ファイルがコピーされることを確認します。

于 2012-12-16T17:17:46.370 に答える