4

OSGeo.FDO用のnugetパッケージを作成していますが、次の問題が発生しています。

FDOは、providers.xml使用できるすべてのプロバイダーをリストしたファイルを使用します。OSGeo.FDOそこで、次のものを含むというメインパッケージを作成しました。

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<FeatureProviderRegistry/>

次に、プロバイダーごとにnugetパッケージを作成しています。それらのそれぞれにproviders.xml.transform、たとえば次のようなを含めます。

<FeatureProviderRegistry>
   <FeatureProvider>
      <Name>OSGeo.PostgreSQL.3.6</Name>
      <DisplayName>OSGeo FDO Provider for PostgreSQL/PostGIS</DisplayName>
      <Description>Read/write access to PostgreSQL/PostGIS-based data store. Supports spatial data types and spatial query operations.</Description>
      <IsManaged>False</IsManaged>
      <Version>3.6.0.4707</Version>
      <FeatureDataObjectsVersion>3.6.0.4707</FeatureDataObjectsVersion>
      <LibraryPath>.\PostgreSQLProvider.dll</LibraryPath>
   </FeatureProvider>
</FeatureProviderRegistry>

プロバイダーパッケージを1つだけインストールすると、期待どおりに機能しますが、別のプロバイダーパッケージをインストールすると、providers.xmlファイルがまったく変更されません。変更されたと表示されますが、VisualStudioからリロードするかどうか尋ねられます。私はそう言うが、それはそれに何も追加しない。

私がしていることに何か問題がありますか?

4

1 に答える 1

1

NuGet XML変換は、少し風変わりな場合があります。スキーマで許可されている場合にこれを機能させる方法は、属性を追加して各タグを一意にすることです。例えばあなたが持っていた場合

<FeatureProviderRegistry>
   <FeatureProvider name="OSGeo.PostgreSQL.3.6">
       etc...
   </FeatureProvider>
</FeatureProviderRegistry>

その後

<FeatureProviderRegistry>
   <FeatureProvider name="Other Name">
       etc...
   </FeatureProvider>
</FeatureProviderRegistry>

その後、それはあなたが望むことをするはずです。これはXMLスキーマが望む方法ではない可能性があることを認識していますが、それが可能であれば、回避策になる可能性があります。

于 2011-02-25T19:25:36.237 に答える