2012-02-22 4 views
2

私は問題に直面しています(デバッガが CivicaHousingRepairsModule最初の行にブレークポイントを挿入してください...何もヒットしません。)最後の2日間から手がかりなし。 Silverlight 4、PRISM 4.0、MEFを使用してサンプルアプリケーションを作成しました。次のような2つのモジュールを含む。ここで、次のブレークポイントを挿入しても何もヒットせず、エラーが発生した場合、デバッガはModuleを一切起動しません

//Module 1 
namespace Civica.Housing.Security 
{ 
    [ModuleExport(typeof(CivicaHousingSecurityModule),InitializationMode = InitializationMode.OnDemand)] 
    public class CivicaHousingSecurityModule:IModule 
    { 
     private readonly IRegionManager _regionManager; 
     [ImportingConstructor] //MEF magic to for resolving all the DI 
     public CivicaHousingSecurityModule(IRegionManager regionManager, IAuthenticationService authenticationService) 
     { 
      regionManager.CheckForNull("regionManager"); 
      _regionManager = regionManager; 
     } 
     #region IModule Implementation 
     public void Initialize() 
     { 
     } 
     #endregion 
    } 
} 

//Module 2 
namespace Civica.Housing.Repairs 
{ 
    [ModuleExport(typeof(CivicaHousingRepairsModule), InitializationMode = InitializationMode.OnDemand)] 
    public class CivicaHousingRepairsModule : IModule 
    { 
     private readonly IRegionManager _regionManager; 
     #region Constructor 
     [ImportingConstructor] 
     public CivicaHousingRepairsModule(IRegionManager regionManager, IAuthenticationService authenticationService) 
     { 
      regionManager.CheckForNull("regionManager"); 
      _regionManager = regionManager; 
     } 
     #endregion 
     #region IModule Implementation 
     public void Initialize() 
     { 
      _regionManager.RegisterViewWithRegion(RegionNames.ContentRegion, typeof(TestView)); 
     } 
     #endregion 
    } 
} 

は、モジュール(ModuleCatalog.xaml)をregestringためのコードです。

私は他の(修理)に一つのモジュール(セキュリティ)から移動すると、それは私を与える:ここで、次の

<Modularity:ModuleCatalog xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
          xmlns:sys="clr-namespace:System;assembly=mscorlib" 
          xmlns:Modularity="clr- 
namespace:Microsoft.Practices.Prism.Modularity;assembly=Microsoft.Practices.Prism"> 
    <Modularity:ModuleInfo Ref="Civica.Housing.Security.xap" InitializationMode="OnDemand" 
ModuleName="CivicaHousingSecurityModule" /> 
    <Modularity:ModuleInfo Ref="Civica.Housing.Repairs.xap" InitializationMode="OnDemand" 
ModuleName="CivicaHousingRepairsModule" /> 
</Modularity:ModuleCatalog> 

のコードブートストラップ

public class CivicaHousingBootstrapper : MefBootstrapper 
    { 
     private const string ModuleCatalogUri = 

"/Civica.Housing.App;component/ModulesCatalog.xaml"; 
. 
. 
. 
protected override Microsoft.Practices.Prism.Modularity.IModuleCatalog CreateModuleCatalog() 
     { 
      var moduleCatalog=Microsoft.Practices.Prism.Modularity.ModuleCatalog.CreateFromXaml 

(new Uri(ModuleCatalogUri, 


UriKind.Relative)); 
      return moduleCatalog;    
     } 
. 
. 
. 
} 

問題であり、次のエラー

Webpage error details 
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 
2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; 
Tablet PC 2.0) 
Timestamp: Wed, 22 Feb 2012 13:18:00 UTC 
Message: Unhandled Error in Silverlight Application 
Code: 4004  
Category: ManagedRuntimeError 
Message: Microsoft.Practices.Prism.Modularity.ModuleInitializeException: An exception 
occurred while initializing module 'CivicaHousingRepairsModule'. 
    - The exception message was: The composition remains unchanged. The changes were rejected 
because of the following error(s): The composition produced multiple composition errors, with 3 
root causes. The root causes are provided below. Review the CompositionException.Errors property 
for more detailed information. 
1) More than one export was found that matches the constraint '((exportDefinition.ContractName == 
"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 
("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.DashboardViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.DashboardViewModel'. 
Element: Civica.Housing.Security.ViewModels.DashboardViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.DashboardViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

2) More than one export was found that matches the constraint '((exportDefinition.ContractName == 

"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 

("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.ShortcutViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.ShortcutViewModel'. 
Element: Civica.Housing.Security.ViewModels.ShortcutViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.ShortcutViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

3) More than one export was found that matches the constraint '((exportDefinition.ContractName == 

"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 

("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.HeaderViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.HeaderViewModel'. 
Element: Civica.Housing.Security.ViewModels.HeaderViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.HeaderViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

    Check the InnerException property of the exception for more information. If the exception 

occurred 
    while creating an object in a DI container, you can exception.GetRootException() to help 

locate the 
    root cause of the problem. ---> System.ComponentModel.Composition.ChangeRejectedException: 

The composition remains unchanged. The changes were rejected because of the following error(s): 

The composition produced multiple composition errors, with 3 root causes. The root causes are 

provided below. Review the CompositionException.Errors property for more detailed information. 

1) More than one export was found that matches the constraint '((exportDefinition.ContractName == 

"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 

("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.DashboardViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.DashboardViewModel'. 
Element: Civica.Housing.Security.ViewModels.DashboardViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.DashboardViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

2) More than one export was found that matches the constraint '((exportDefinition.ContractName == 

"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 

("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.ShortcutViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.ShortcutViewModel'. 
Element: Civica.Housing.Security.ViewModels.ShortcutViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.ShortcutViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

3) More than one export was found that matches the constraint '((exportDefinition.ContractName == 

"Civica.Housing.Services.IRepairsDataService") AndAlso (exportDefinition.Metadata.ContainsKey 

("ExportTypeIdentity") AndAlso "Civica.Housing.Services.IRepairsDataService".Equals 

(exportDefinition.Metadata.get_Item("ExportTypeIdentity"))))'. 

Resulting in: Cannot set import 'Civica.Housing.Security.ViewModels.HeaderViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService")' 

on part 'Civica.Housing.Security.ViewModels.HeaderViewModel'. 
Element: Civica.Housing.Security.ViewModels.HeaderViewModel..ctor 

(Parameter="_iRepairsDataService", ContractName="Civica.Housing.Services.IRepairsDataService") 

--> Civica.Housing.Security.ViewModels.HeaderViewModel --> AssemblyCatalog 

(Assembly="Civica.Housing.Security, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null") 

    at System.ComponentModel.Composition.CompositionResult.ThrowOnErrors(AtomicComposition 

atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.OnExportsChanging 

(ExportsChangeEventArgs e) 
    at System.ComponentModel.Composition.Hosting.CatalogExportProvider.OnCatalogChanging(Object 

sender, ComposablePartCatalogChangeEventArgs e) 
    at System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.OnChanging(Object 

sender, ComposablePartCatalogChangeEventArgs e) 
    at System.ComponentModel.Composition.Hosting.AggregateCatalog.OnChanging 

(ComposablePartCatalogChangeEventArgs e) 
    at 

System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.RaiseChangingEvent 

(Lazy`1 addedDefinitions, Lazy`1 removedDefinitions, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.Add 

(ComposablePartCatalog item) 
    at Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleInitializer.CreateModule 

(ModuleInfo moduleInfo) 
    at Microsoft.Practices.Prism.Modularity.ModuleInitializer.Initialize(ModuleInfo moduleInfo) 
    --- End of inner exception stack trace --- 
    at Microsoft.Practices.Prism.Modularity.ModuleInitializer.HandleModuleInitializationError 

(ModuleInfo moduleInfo, String assemblyName, Exception exception) 
    at Microsoft.Practices.Prism.Modularity.ModuleInitializer.Initialize(ModuleInfo moduleInfo) 
    at Microsoft.Practices.Prism.Modularity.ModuleManager.InitializeModule(ModuleInfo moduleInfo) 
    at Microsoft.Practices.Prism.Modularity.ModuleManager.LoadModulesThatAreReadyForLoad() 
    at Microsoft.Practices.Prism.Modularity.ModuleManager.IModuleTypeLoader_LoadModuleCompleted 

(Object sender, LoadModuleCompletedEventArgs e) 
    at 

Microsoft.Practices.Prism.MefExtensions.Modularity.MefXapModuleTypeLoader.RaiseLoadModuleComplete 

d(LoadModuleCompletedEventArgs e) 
    at 

Microsoft.Practices.Prism.MefExtensions.Modularity.MefXapModuleTypeLoader.RaiseLoadModuleComplete 

d(ModuleInfo moduleInfo, Exception error) 
    at 

Microsoft.Practices.Prism.MefExtensions.Modularity.MefXapModuleTypeLoader.HandleDownloadCompleted 

(DeploymentCatalog deploymentCatalog, AsyncCompletedEventArgs e) 
    at 

Microsoft.Practices.Prism.MefExtensions.Modularity.MefXapModuleTypeLoader.DeploymentCatalog_Downl 

oadCompleted(Object sender, AsyncCompletedEventArgs e) 
    at System.ComponentModel.Composition.Hosting.DeploymentCatalog.OnDownloadCompleted 

(AsyncCompletedEventArgs e) 
    at System.ComponentModel.Composition.Hosting.DeploymentCatalog.HandleOpenReadCompleted(Object 

sender, OpenReadCompletedEventArgs e) 
    at System.Net.WebClient.OnOpenReadCompleted(OpenReadCompletedEventArgs e) 
    at System.Net.WebClient.OpenReadOperationCompleted(Object arg)  

Line: 56 
Char: 13 
Code: 0 
URI: http://localhost:61228/Civica.Housing.aspx 

重要な注意:私は何もヒットされていない最初の行に

ブレークポイントを挿入すると、デバッガは全くCivicaHousingRepairsModuleにヒットしません。

私は以下を試しました: 1.私はすべてのPRISM dllをlocalcopyに設定しました。

あなたが同じ問題に直面していて、それに良い解決策がある場合は、教えてください。あなたの答えや提案は高く評価されます。

+0

上記の質問を読んでいる人は誰でも参加できます;)uhhhhhhhh読んでくれてありがとう。 –

+0

答えてください..... –

+0

あなたは 'Debug |オプションと設定|一般| 「自分のコードだけを有効にする(管理のみ)」オプション。時々、デバッガは、ファイルがどこから来ているかについて少し混乱することがあります。このオプションをオフにすると、通常はどこにでもブレークポイントを設定できます。 –

答えて

0

becoz ur xapファイルが存在しないか、破損していると思います。 Webプロジェクトからすべてのur xapファイルを削除して、モジュールごとにurアプリケーションモジュールを再構築してから、アプリケーションを実行してください。

+0

ありがとう、yrahman。やってみます。それでもエラーが出ます。他の提案はありますか? –

0

モジュールプロジェクトでは、MainProjectのすべてのPrism参照に対してCopyLocal = 'false' CopyLocal = 'true'にする必要があります。 それは私のために働いた。

関連する問題