рдкреНрд░рд┐рдЬреНрдо 2.2 рд╕реЗ рдкреНрд░рд┐рдЬреНрдо 4 рдПрдордИрдПрдл рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдПрдкреНрд▓реАрдХреЗрд╢рди рдорд╛рдЗрдЧреНрд░реЗрд╢рди

рд╕рдордп рдЖ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореЙрдбреНрдпреВрд▓рд░ 4 рдФрд░ рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдФрд░ рдбрдмреНрд▓реНрдпреВрдкреАрдПрдл рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкреНрд░рд┐рдЬреНрдо 4 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреА рдШреЛрд╖рдгрд╛ рдХреА рдЬрд╛рдПрдЧреАред рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди, рд╕реБрдзрд╛рд░ рдФрд░ рдирд╡рд╛рдЪрд╛рд░ рд╣реИрдВред рдореБрдЦреНрдп рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ MEF рд╕рдорд░реНрдерди рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реИ (рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдХреЗрд╡рд▓ рдПрдХрддрд╛ рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛)ред



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдкреНрд░рд┐рдЬреНрдо 2.2 рд╕реЗ рдкреНрд░рд┐рдЬреНрдо 4 рдореЗрдВ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХреЗ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдПрдХрддрд╛ рдХреЗ рдмрдЬрд╛рдп MEF рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдПред



рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдХреЗ рдирд╛рдордХрд░рдг рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди



рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдиреЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рдирд╛рдореЛрдВ рдФрд░ рдирд╛рдореЛрдВ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:



рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓рд╛рд╡



рдкреНрд░рд╡рд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реВрдЪреА рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:



рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреА рдЬрдЧрд╣, рдЖрдкрдХреЛ рдирд╛рдо рд╕реНрдерд╛рди рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝реАрд▓реНрдбреНрд╕ рдореЗрдВ Microsoft.Practices.Composition рдФрд░ Microsoft.Practices.Prism рджрд░реНрдЬ рдХрд░рдХреЗ рдорд╛рдирдХ рдвреВрдБрдвреЗрдВ рдФрд░ рдмрджрд▓реЗрдВ рд╕рдВрд╡рд╛рдж (Ctrl-H) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ Microsoft.Practices.Composite.Presentation.dll рдЕрд╕реЗрдВрдмрд▓реА рдЕрдм рдЕрд▓рдЧ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдкрд┐рдЫрд▓реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ Microsoft.Practices.Prism рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред Microsoft.Practices.Prism рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди



рдиреЛрдЯ:

рди рдХреЗрд╡рд▓ .cs рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ, рдмрд▓реНрдХрд┐ .xaml рдФрд░ .config (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ) рдореЗрдВ рдирд╛рдорд╕реНрдерд╛рди рдирд╛рдо рдмрджрд▓рдирд╛ рди рднреВрд▓реЗрдВред



рдПрдХрддрд╛ рдХрдВрдЯреЗрдирд░ рдХреА рдЬрдЧрд╣



MEF рдХрдВрдЯреЗрдирд░ рдХреЗ рдХреБрдЫ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВред MEF рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдиреБрдХрд╕рд╛рди:



рдлрд╛рдпрджреЗ:





рдПрдХ рдХрдВрдЯреЗрдирд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ IUnityContainer



рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛рдХрд░ рдПрдХрддрд╛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХрдВрдЯреЗрдирд░ (рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдЗрдВрдЬреЗрдХреНрд╢рди) рд╕реЗ рдЕрдиреНрдп рдкреИрд░рд╛рдореАрдЯрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдкрд╛рд╕ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ [ImportingConstructor]



рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

//Prism 2.2 <br> public class SampleClass<br>{<br> private readonly IRegionManager regionManager;<br> private readonly IUnityContainer container;<br><br> public SampleClass(IUnityContainer container, IRegionManager regionManager)<br> {<br> this .container = container;<br> this .regionManager = regionManager;<br> }<br>}<br><br> //Prism 4 <br>[Export( typeof (SampleClass))]<br> public class SampleClass<br>{<br> private readonly IRegionManager regionManager;<br><br> [ImportingConstructor]<br> public SampleClass(IRegionManager regionManager)<br> {<br> this .regionManager = regionManager;<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .







рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рд╡рд░реНрдЧ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдмрдирд╛рдП рдЧрдП рдереЗ, рдЙрдиреНрд╣реЗрдВ [Export]



рд╡рд┐рд╢реЗрд╖рддрд╛ (рдЖрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд▓рд┐рдП [InheritedExport]



рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЙрд╕реА рд╕рдордп рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдкрдВрдЬреАрдХрд░рдг рдХреЛрдб рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдЕрдЧрд▓рд╛ рдХрджрдо рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЛ [ModuleExport(typeof(<ModuleType>))]



рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ Microsoft.Practices.Prism.MefExtensions.dll рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рд╣реИ)ред



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

//Prism 2.2 <br> public class SampleModule : IModule<br>{<br> public void Initialize()<br> {<br> Register();<br> }<br><br> public void Register()<br> {<br> container.RegisterType<ISampleViewModel, SampleViewModel>();<br> }<br>}<br><br> //Prism 4 <br>[ModuleExport( typeof (SampleClass))]<br> public class SampleModule : IModule<br>{<br> public void Initialize()<br> {<br> ...<br> }<br>}<br><br>[InheritedExport]<br> public interface ISampleViewModel<br>{<br> ...<br>} <br><br> * This source code was highlighted with Source Code Highlighter .





рдЕрдЧрд▓рд╛ рдХрджрдо Bootstarpper.cs рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реИред



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

//Prism 4 <br> using System.ComponentModel.Composition;<br> using System.ComponentModel.Composition.Hosting;<br><br> using Microsoft.Practices.Prism.MefExtensions;<br> using Microsoft.Practices.Prism.Regions;<br> using Modularity = Microsoft.Practices.Prism.Modularity;<br><br> namespace Sample.Shell<br>{<br> public class Bootstrapper : MefBootstrapper<br> {<br> protected override DependencyObject CreateShell()<br> {<br> return Container.GetExportedValue<ShellView>();<br> }<br><br> protected override void InitializeShell()<br> {<br> base .InitializeShell();<br> Application.Current.RootVisual = (ShellView) this .Shell;<br> }<br><br> protected override Modularity.IModuleCatalog CreateModuleCatalog()<br> {<br> return Modularity.ModuleCatalog.CreateFromXaml( new Uri ( "/Sample.Shell;component/ModulesCatalog.xaml" , UriKind.Relative));<br> }<br><br> protected override void ConfigureAggregateCatalog()<br> {<br> base .ConfigureAggregateCatalog();<br> AggregateCatalog.Catalogs.Add( new AssemblyCatalog( this .GetType(). Assembly ));<br> }<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .





MEF рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рдХреА рдХреБрдЫ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред



рдЙрджрд╛рд╣рд░рдг 1:

//Prism 2.2 <br> private void RegisterTypes()<br>{<br> SampleType sampleType = new SampleType(...);<br> Container.RegisterInstance<ISampleType>(sampleType);<br><br> Container.RegisterType<ISingletonSampleType, SingletonSampleType>( new ContainerControlledLifetimeManager());<br>}<br><br> //Prism 4 <br>[Export]<br>[PartCreationPolicy(CreationPolicy.Shared)]<br> public class SampleType : ISampleType<br>{<br>...<br>}<br><br>[Export]<br>[PartCreationPolicy(CreationPolicy.Shared)]<br> public class SingletonSampleType : ISingletonSampleType<br>{<br>...<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .





рдЙрджрд╛рд╣рд░рдг 2:

//Prism 2.2 <br> private void Foo()<br>{<br> List <ISampleType> samples = new List <ISampleType>();<br> for ( int i = 0; i == 10; i++)<br> {<br> ISampleType sampleTypeInstance = Container.ResolveInstance<ISampleType>();<br> samples.Add(sampleTypeInstance);<br> }<br>}<br><br> //Prism 4 <br>[Import]<br> public ExportFactory<ISampleType> SampleTypeFactory<br>{<br> get ;<br> set ;<br>}<br><br> private void Foo()<br>{<br> List <ISampleType> samples = new List <ISampleType>();<br> for ( int i = 0; i == 10; i++)<br> {<br> ISampleType sampleTypeInstance = SampleTypeFactory.CreatExport().Value;<br> samples.Add(sampleTypeInstance);<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .





ViewModel рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди



рд╕рднреА ViewModel (рдпрд╛ рдЙрдирдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреВрд░реНрд╡рдЬ) рдХреЛ NotificationObject



рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд░реНрдЧ RaisePropertyChanged()



рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрднреА рддрдХ RaisePropertyChanged()



рд╡рд┐рдзрд┐ рдХрд╛ рдПрдХ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╛рдо рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдкреБрд░рд╛рдиреЗ RaisePropertyChanged()



рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рддреНрдпрд╛рдЧрдиреЗ рдФрд░ рдирдП рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИред



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

//Prism 2.2 <br> public class SampleViewModel : ISampleViewModel<br>{<br> private SamplePropertyType sampleProperty;<br> public SamplePropertyType SampleProperty<br> {<br> get <br> {<br> return sampleProperty;<br> }<br> set <br> {<br> sampleProperty = value ;<br> this .RaisePropertyChanged( "SampleProperty" );<br> }<br> }<br>}<br><br> //Prism 4 <br> public class SampleViewModel : NotificationObject, ISampleViewModel<br>{<br> private SamplePropertyType sampleProperty;<br> public SamplePropertyType SampleProperty<br> {<br> get <br> {<br> return sampleProperty;<br> }<br> set <br> {<br> sampleProperty = value ;<br> this .RaisePropertyChanged(() => SampleProperty);<br> }<br> }<br>}<br> <br> * This source code was highlighted with Source Code Highlighter .





рдкреНрд░рд╡рд╛рд╕ рдХреЗ рдиреБрдХрд╕рд╛рди



рдбреБрдкреНрд▓реАрдХреЗрдЯ рдЕрд╕реЗрдВрдмрд▓реА


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрджрд┐ рдкреНрд░рд┐рдЬреНрдо рдЕрд╕реЗрдВрдмрд▓реА рдХрдИ рдПрдХреНрд╕рдПрдкреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЧрд┐рд░рддреА рд╣реИ, рддреЛ рд░рдЪрдирд╛ рдХреА рд░рдЪрдирд╛ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЕрдкрд╡рд╛рдж рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред



рд╕рдВрджреЗрд╢: рд╕рд┐рд▓реНрд╡рд░рд▓рд╛рдЗрдЯ рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рдЕрдирд╣реЗрд▓реНрдб рдПрд░рд░: 4004 рд╢реНрд░реЗрдгреА: рдкреНрд░рдмрдВрдзрд┐рддRuntimeError рд╕рдВрджреЗрд╢: Microsoft.Practices.Prism.Modularity.ModuleTypeLoadingException: рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реБрдЖ <ModType>ред рддреНрд░реБрдЯрд┐ рдереА: рд░рдЪрдирд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдмрдиреА рд╣реБрдИ рд╣реИред рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ 13 рдореВрд▓ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрдИ рд░рдЪрдирд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдЙрддреНрдкрдиреНрди рд╣реБрдИрдВред рдореВрд▓ рдХрд╛рд░рдг рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП ComposException.Errors рдЧреБрдг рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВред



1) рдЧреИрд░-рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рдЖрдпрд╛рдд 'Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager.MefXapModuleTypeLoader (ContractName = MicrosoftPractices.Prism.MefExtensions.Modularity.MefXapModuleTypeadadadadadadadad рдкрдХреНрд╖) рджреНрд╡рд╛рд░рд╛ рд░реЛрдХрд╛ рдЧрдпрд╛ рдирд┐рд░реНрдпрд╛рдд рдмрджрд▓реЗрдВред рдкреНрд░рд┐рдЬреНрдоред рдореЗрдлрд╝реЗрдХреНрд╕реНрдЯреЗрдВрд╢рди.рдореЙрдбреНрдпреВрд▓рд░рд┐рдЯреАред рдореЗрдлрд╝рдореЙрдбреБрд▓реЗрдордирдЧрд░ 'ред

...



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ CopyLocal=False



рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕рднреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ VisualStudio2010 рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ред



рдореЙрдбреНрдпреВрд▓ рдХреИрдЯрд▓реЙрдЧ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


рдореЙрдбреНрдпреВрд▓ рдХреИрдЯрд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпреЛрдЧреНрдп рдирд╛рдо рдЬрд┐рд╕реЗ рдЖрдк рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



рдПрдХ рдЙрджрд╛рд╣рд░рдг:

<!--ModulesCatalog.xaml, Prism 2.2--> <br> < Modularity:ModuleCatalog xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <br> xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" <br> xmlns:Modularity ="clr-namespace:Microsoft.Practices.Composite.Modularity; assembly=Microsoft.Practices.Composite" > <br> < Modularity:ModuleInfo <br> Ref ="SampleModule.xap" <br> ModuleName ="SampleModule" <br> ModuleType ="SampleModule.SampleModule, SampleModule, Version=1.0.0.0" /> <br> </ Modularity:ModuleCatalog > <br><br> <!--ModulesCatalog.xaml, Prism 4--> <br> < Modularity:ModuleCatalog xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation" <br> xmlns:x ="http://schemas.microsoft.com/winfx/2006/xaml" <br> xmlns:Modularity ="clr-namespace:Microsoft.Practices.Prism.Modularity; assembly=Microsoft.Practices.Prism" > <br> < Modularity:ModuleInfo <br> Ref ="SampleModule.xap" <br> ModuleName ="SampleModule" <br> ModuleType ="SampleModule.SampleModule, SampleModule, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null " /> <br> </ Modularity:ModuleCatalog > <br> <br> * This source code was highlighted with Source Code Highlighter .





рдирд┐рд╖реНрдХрд░реНрд╖



рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде, рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдпреВрдирд┐рдЯреА рд╕реЗ MEF рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдирд╛ рдирд┐рд░реНрдгрдп рдХрд░реЗрдЧрд╛ред рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЖрдкрдХреЛ MEF рдХрдВрдЯреЗрдирд░ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред



рдореИрдВ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рднреА рдХреА рд╕рдлрд▓рддрд╛ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд▓реЗрдЦ рдПрдХ рдЕрдЪреНрдЫреА рдорджрдж рд╣реЛрдЧреАред






All Articles