2008-08-07 23 views
15

私はSharepointアプリケーションを開発しており、.NET AjaxControlToolkitライブラリを使用しています。カスタムaspxページをSharepointに追加しています。 Sharepoint 2007はquirksモードで動作するので、AJAXライブラリをいくつか変更して通常通りに動作させるようにしました。問題は、他のチームがすでにAJAXライブラリを使用していて、それが私と別のバージョンであることです。これは、同じ名前のbinフォルダに1つのdllだけが存在する可能性があるため、競合を引き起こします。複数のバージョンのアセンブリへの参照方法

私が知っていることから、.NETはこの状況を簡単に処理できるはずです。私はそれを解決するために強力な名前とGACを使用しようとしましたが、それでもbinフォルダのdllを参照しています。 binフォルダーにAjaxControlToolkit.dllがない場合、アプリケーションは単にアセンブリをロードできません。私は私の完全なアセンブリ情報を使用している場合

この

<%@ 
    Register 
    tagprefix="AjaxControlToolkit" 
    namespace="AjaxControlToolkit" 
    assembly="AjaxControlToolkit, Version=1.0.299.18064, 
    PublicKeyToken=12345678abcdefgh, 
    Culture=neutral" 
%> 

のようにそれは私にコンパイラエラーCS0433

を与える誰かがアプリケーション内のアセンブリの複数のバージョンを使用する方法についての私を助けることができますか?

+0

異なるアセンブリバージョンを同じコントロールで使用していますか?それとも同じプロジェクトだが異なるコントロールですか? – Machinegon

答えて

3

まあ、Compiler Error CS0433のリンクは、参照されているアセンブリの複数のバージョンではなく、名前空間と型名の競合がコアの問題ではないことを明確にしています。

タイプをロード/参照するとき、コンパイラは、そのタイプをロードするDLLを解決できません。 Sharepointが両方のDLLバージョンをロードする場合(必要と言うように)、このエラーは常に発生します。

最も簡単な修正点は、カスタムDLLを使用しているため、新しいDLLの名前空間を変更することです。また、コードを制御することもできます。

関連する問題