質問

特定のクラス/インターフェイス/...を参照する方法はありますか?

として、SAP .NETコネクタを使用するWebサイトに取り組んでいます。コネクタDDLのリファレンスをすでに追加し、名前空間を「namespace_nameを使用して」参照しているとき、またはコネクタネームスペースではなく別の名前にクラスの名前を設定しています。

「タイプまたは名前空間が見つからなかった、使用法またはアセンブリリファレンスが欠落しているのか」というエラーメッセージでコネクタクラスに関するエラーが発生しました。

しかし、名前空間名をConnector NameSpaceに変更している間、すべてが順調に進んでいますか?!

// Set namespace to be IDestinationConfiguration interface namespace.
// Using this, everything is going well.
namespace SAP.Middleware.Connector
{
    public class ConnectorConfiguration : IDestinationConfiguration
    {
    }
}

// Using that way; it's not working, and got an error regarding IDestinationConfiguration even it belongs to refernced namespace.
using SAP.Middleware.Connector;

public class ConnectorConfiguration : IDestinationConfiguration
{
}

そのため、コネクタの種類により、クラスの名前空間を名前空間に設定することが強制されました。

これは可能ですか?もしそうなら、どうですか?

役に立ちましたか?

解決

これはあなたが望んでいるものですか?

public class ConnectorConfiguration: SAP.Middleware.Connection.IDestinationConfiguration
{

}

必要に応じて、すべてのコードを使用せずに記述できます。使用していないクラス/インターフェイスのすべての完全に適格な名前空間名を使用するだけです。

これを試してみると:

using SAPTEST = SAP.Middleware.Connection;
namespace TestNamespace 
{
   public class ConnectorConfiguration: SAPTEST.IDestinationConfiguration
   {
   }
}

それが機能しますが、Saptestを削除しても機能しない場合は、IdestinationConfigurationも別の名前空間で宣言する必要があります。

他のヒント

私もこれに出くわしましたが、投稿でついに答えを見つけるまで、それを理解できませんでした http://forums.sdn.sap.com/thread.jspa?threadid=1876430, 、最後の行:

「また、ターゲットフレームワークが「.NET V4.0「NOT」.NET V4.0クライアント」であることを確認してください。そのため、必要なシステムを取得します。」

私のプロジェクトは、4.0クライアントのターゲットフレームワークを対象としていました。 .NET FreamWork 4.0に変更したら、すべての参照が期待どおりに機能しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top