3

Microsoft EnterpriseLibrary5.0をダウンロードしてインストールしました。EL5で遊ぶためにVS2010を起動し、非常に単純なコンソールアプリケーションを作成しました。ただし、コンパイルされません。次のエラーが発生しました:

タイプまたは名前空間の名前「Data」が名前空間「Microsoft.Practices.EnterpriseLibrary」に存在しません(アセンブリ参照がありませんか?)

プロジェクトにMicrosoft.Practices.EnterpriseLibrary.Common、Microsoft.Practices.EnterpriseLibrary.Data、およびMicrosoft.Practices.Unity の参照を追加しました。

これがコンパイルを拒否する単純なコードです。

using Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Unity;
using Microsoft.Practices.EnterpriseLibrary.Data;
using Microsoft.Practices.Unity;

namespace EntLib
{
    class Program
    {
        static void Main(string[] args)
        {
            IUnityContainer container = new UnityContainer();
            container.AddNewExtension<EnterpriseLibraryCoreExtension>();
            var defaultDatabase = container.Resolve<Database>();
        }
    }
}

上記のエラーは2行目について不平を言っています:

using Microsoft.Practices.EnterpriseLibrary.Data;

誰かが私による愚かな間違いを指摘するかもしれませんが、現時点では私はそれを見ることができません。

Microsoft.Practices.EnterpriseLibrary.Dataを削除して参照に再度追加しようとしましたが、役に立ちませんでした。

4

2 に答える 2

6

私はこの質問で私の答えを見つけました。プロジェクトのターゲットフレームワークを.NETFrameworkクライアントプロファイルから.NETFramework4に変更しました。

于 2010-05-01T21:54:18.993 に答える
1

.NETクライアントプロファイルをターゲットにしているのではないかと疑っています。EntLib 5.0のMicrosoft.Practices.EnterpriseLibrary.Dataアセンブリを使用する場合は、完全な.NETFrameworkをターゲットにする必要があります。プロジェクトを右クリックして[プロパティ]を選択し、[アプリケーション]タブで、ターゲットフレームワークプロパティの値として.NETFramework3.5または.NETFramework4.0のいずれかを選択します。これはEntLib5.0の既知の問題です

于 2013-10-29T09:16:54.873 に答える