mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Adding mvc3/razor placeholder support
Unofficial bits - do not use. Integrates with mvc3 CSL hooks Adds razor view engine to default configuration --HG-- branch : mvc3p1
This commit is contained in:
@@ -39,7 +39,7 @@ namespace Orchard.Tests.Mvc.ModelBinders {
|
||||
ValueProvider = input.ToValueProvider()
|
||||
};
|
||||
|
||||
var binder = new KeyedListModelBinder<Foo>(binders, providers, foo => foo.Name);
|
||||
var binder = new KeyedListModelBinder<Foo>(binders, foo => foo.Name);
|
||||
|
||||
var result = (IList<Foo>)binder.BindModel(controllerContext, bindingContext);
|
||||
|
||||
|
@@ -51,7 +51,7 @@
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
|
||||
</Reference>
|
||||
|
@@ -71,7 +71,7 @@ namespace Orchard.Core.Routable.Drivers {
|
||||
}
|
||||
|
||||
protected override DriverResult Editor(RoutePart part, IUpdateModel updater) {
|
||||
|
||||
|
||||
var model = new RoutableEditorViewModel();
|
||||
updater.TryUpdateModel(model, Prefix, null, null);
|
||||
part.Title = model.Title;
|
||||
|
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
@@ -22,17 +23,10 @@ namespace Orchard.Web {
|
||||
}
|
||||
|
||||
protected void Application_Start() {
|
||||
// This is temporary until MVC3 is officially released.
|
||||
// We want to avoid running against an outdated preview installed in the GAC
|
||||
CheckMvcVersion(
|
||||
new Version("3.0.10714.0")/*MVC3 Preview 1 file version #*/);
|
||||
|
||||
RegisterRoutes(RouteTable.Routes);
|
||||
|
||||
_host = OrchardStarter.CreateHost(MvcSingletons);
|
||||
_host.Initialize();
|
||||
|
||||
//TODO: what's the failed initialization story - IoC failure in app start can leave you with a zombie appdomain
|
||||
}
|
||||
|
||||
protected void Application_BeginRequest() {
|
||||
@@ -45,58 +39,11 @@ namespace Orchard.Web {
|
||||
_host.EndRequest();
|
||||
}
|
||||
|
||||
private void CheckMvcVersion(params Version[] allowedVersions) {
|
||||
Assembly loadedMvcAssembly = typeof(System.Web.Mvc.Controller).Assembly;
|
||||
Version loadedMvcVersion = ReadAssemblyFileVersion(loadedMvcAssembly);
|
||||
|
||||
if (allowedVersions.All(allowed => loadedMvcVersion != allowed)) {
|
||||
string message;
|
||||
if (loadedMvcAssembly.GlobalAssemblyCache) {
|
||||
message = string.Format(
|
||||
"Orchard has been deployed with a version of {0} that has a different file version ({1}) " +
|
||||
"than the version installed in the GAC ({2}).\r\n" +
|
||||
"This implies that Orchard will not be able to run properly in this machine configuration.\r\n" +
|
||||
"Please un-install MVC from the GAC or install a more recent version.",
|
||||
loadedMvcAssembly.GetName().Name,
|
||||
allowedVersions.First(),
|
||||
loadedMvcVersion);
|
||||
}
|
||||
else {
|
||||
message = string.Format(
|
||||
"Orchard has been configured to run with a file version {1} of \"{0}\" " +
|
||||
"but the version deployed with the application is {2}.\r\n" +
|
||||
"This probably implies that Orchard is deployed with a newer version " +
|
||||
"and the source code hasn't been updated accordingly.\r\n" +
|
||||
"Update the Orchard.Web application source code (look for \"CheckMvcVersion\") to " +
|
||||
"specify the correct file version number.\r\n",
|
||||
loadedMvcAssembly.GetName().Name,
|
||||
allowedVersions.First(),
|
||||
loadedMvcVersion);
|
||||
}
|
||||
|
||||
throw new HttpException(500, message);
|
||||
}
|
||||
static void MvcSingletons(ContainerBuilder builder) {
|
||||
builder.Register(ctx => RouteTable.Routes).SingleInstance();
|
||||
builder.Register(ctx => ModelBinders.Binders).SingleInstance();
|
||||
builder.Register(ctx => ViewEngines.Engines).SingleInstance();
|
||||
}
|
||||
|
||||
private Version ReadAssemblyFileVersion(Assembly assembly) {
|
||||
object[] attributes = assembly.GetCustomAttributes(typeof(AssemblyFileVersionAttribute), true);
|
||||
if (attributes == null || attributes.Length != 1) {
|
||||
string message = string.Format("Assembly \"{0}\" doesn't have a \"{1}\" attribute",
|
||||
assembly.GetName().Name, typeof(AssemblyFileVersionAttribute).FullName);
|
||||
throw new FileLoadException(message);
|
||||
}
|
||||
|
||||
var attribute = (AssemblyFileVersionAttribute)attributes[0];
|
||||
return new Version(attribute.Version);
|
||||
}
|
||||
|
||||
|
||||
protected void MvcSingletons(ContainerBuilder builder) {
|
||||
builder.RegisterInstance(ControllerBuilder.Current);
|
||||
builder.RegisterInstance(RouteTable.Routes);
|
||||
builder.RegisterInstance(ModelBinders.Binders);
|
||||
builder.RegisterInstance(ModelMetadataProviders.Current);
|
||||
builder.RegisterInstance(ViewEngines.Engines);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>
|
||||
</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}</ProjectGuid>
|
||||
<ProjectTypeGuids>{F85E285D-A4E0-4152-9332-AB1D724D3325};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Futures.Modules.Packaging</RootNamespace>
|
||||
<AssemblyName>Futures.Modules.Packaging</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<MvcBuildViews>false</MvcBuildViews>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.DataSetExtensions">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
|
||||
<Reference Include="System.Xml.Linq">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Extensions">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
<Reference Include="System.Web.Routing" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AdminMenu.cs" />
|
||||
<Compile Include="Commands\PackagingCommands.cs" />
|
||||
<Compile Include="Controllers\DownloadStreamResult.cs" />
|
||||
<Compile Include="Controllers\PackagingController.cs" />
|
||||
<Compile Include="ViewModels\PackagingHarvestViewModel.cs" />
|
||||
<Compile Include="ViewModels\PackagingModulesViewModel.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="ViewModels\PackagingSourcesViewModel.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Module.txt" />
|
||||
<Content Include="Views\Packaging\Harvest.ascx" />
|
||||
<Content Include="Views\Packaging\Modules.ascx" />
|
||||
<Content Include="Views\Packaging\Sources.ascx" />
|
||||
<Content Include="Views\Packaging\_Subnav.ascx" />
|
||||
<Content Include="Views\Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Content\" />
|
||||
<Folder Include="Models\" />
|
||||
<Folder Include="Scripts\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
|
||||
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
|
||||
<Name>Orchard.Framework</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target> -->
|
||||
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
|
||||
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)" />
|
||||
</Target>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>40980</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>
|
||||
</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>True</UseCustomServer>
|
||||
<CustomServerUrl>http://orchard.codeplex.com</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
171
src/Orchard.Web/Modules/Orchard.Pages/Orchard.Pages.csproj
Normal file
171
src/Orchard.Web/Modules/Orchard.Pages/Orchard.Pages.csproj
Normal file
@@ -0,0 +1,171 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{4A9C04A6-0986-4A92-A610-5F59FF273FB9}</ProjectGuid>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Orchard.Pages</RootNamespace>
|
||||
<AssemblyName>Orchard.Pages</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<MvcBuildViews>false</MvcBuildViews>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.ComponentModel.DataAnnotations">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\lib\aspnetmvc\System.Web.Mvc.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Abstractions" />
|
||||
<Reference Include="System.Web.Routing" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Web.Mobile" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="Yaml, Version=1.0.3370.39839, Culture=neutral, PublicKeyToken=187a3d240e44a135, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\..\..\lib\yaml\Yaml.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AdminMenu.cs" />
|
||||
<Compile Include="Controllers\AdminController.cs" />
|
||||
<Compile Include="Controllers\PageController.cs" />
|
||||
<Compile Include="DataMigrations\PageDataMigration.cs" />
|
||||
<Compile Include="Drivers\PageDriver.cs" />
|
||||
<Compile Include="Models\Page.cs" />
|
||||
<Compile Include="Permissions.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Routes.cs" />
|
||||
<Compile Include="Security\AuthorizationEventHandler.cs" />
|
||||
<Compile Include="Services\IPageService.cs" />
|
||||
<Compile Include="Routing\IPageSlugConstraint.cs" />
|
||||
<Compile Include="Services\PageService.cs" />
|
||||
<Compile Include="Services\PageHomePageProvider.cs" />
|
||||
<Compile Include="Routing\PageSlugConstraint.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Routing\PageSlugConstraintUpdator.cs" />
|
||||
<Compile Include="ViewModels\PageCreateViewModel.cs" />
|
||||
<Compile Include="ViewModels\PageEditViewModel.cs" />
|
||||
<Compile Include="ViewModels\PagesViewModel.cs" />
|
||||
<Compile Include="ViewModels\PageViewModel.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Styles\admin.css" />
|
||||
<Content Include="Content\Admin\images\draft.gif" />
|
||||
<Content Include="Content\Admin\images\offline.gif" />
|
||||
<Content Include="Content\Admin\images\online.gif" />
|
||||
<Content Include="Content\Admin\images\published.gif" />
|
||||
<Content Include="Content\Admin\images\scheduled.gif" />
|
||||
<Content Include="Content\Site.css" />
|
||||
<Content Include="Module.txt" />
|
||||
<Content Include="Views\DisplayTemplates\Items\Pages.Page.SummaryAdmin.ascx" />
|
||||
<Content Include="Views\DisplayTemplates\Items\Pages.Page.ascx" />
|
||||
<Content Include="Views\DisplayTemplates\Items\Pages.Page.Summary.ascx" />
|
||||
<Content Include="Views\EditorTemplates\Items\Pages.Page.ascx" />
|
||||
<Content Include="Views\Admin\Create.ascx" />
|
||||
<Content Include="Views\Admin\Edit.ascx" />
|
||||
<Content Include="Views\Page\Item.ascx" />
|
||||
<Content Include="Views\Admin\List.aspx" />
|
||||
<Content Include="Web.config" />
|
||||
<Content Include="Views\Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\Orchard\Orchard.Framework.csproj">
|
||||
<Project>{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}</Project>
|
||||
<Name>Orchard.Framework</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Core\Orchard.Core.csproj">
|
||||
<Project>{9916839C-39FC-4CEB-A5AF-89CA7E87119F}</Project>
|
||||
<Name>Orchard.Core</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="Handlers\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target> -->
|
||||
<!-- To enable MVC area subproject support, uncomment the following two lines:
|
||||
<UsingTask TaskName="Microsoft.Web.Mvc.Build.CreateAreaManifest" AssemblyName="Microsoft.Web.Mvc.Build, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
<UsingTask TaskName="Microsoft.Web.Mvc.Build.CopyAreaManifests" AssemblyName="Microsoft.Web.Mvc.Build, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||
-->
|
||||
<Target Name="AfterBuild" DependsOnTargets="AfterBuildCompiler">
|
||||
<PropertyGroup>
|
||||
<AreasManifestDir>$(ProjectDir)\..\Manifests</AreasManifestDir>
|
||||
</PropertyGroup>
|
||||
<!-- If this is an area child project, uncomment the following line:
|
||||
<CreateAreaManifest AreaName="$(AssemblyName)" AreaType="Child" AreaPath="$(ProjectDir)" ManifestPath="$(AreasManifestDir)" ContentFiles="@(Content)" />
|
||||
-->
|
||||
<!-- If this is an area parent project, uncomment the following lines:
|
||||
<CreateAreaManifest AreaName="$(AssemblyName)" AreaType="Parent" AreaPath="$(ProjectDir)" ManifestPath="$(AreasManifestDir)" ContentFiles="@(Content)" />
|
||||
<CopyAreaManifests ManifestPath="$(AreasManifestDir)" CrossCopy="false" RenameViews="true" />
|
||||
-->
|
||||
</Target>
|
||||
<Target Name="AfterBuildCompiler" Condition="'$(MvcBuildViews)'=='true'">
|
||||
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..\$(ProjectName)" />
|
||||
</Target>
|
||||
<ProjectExtensions>
|
||||
<VisualStudio>
|
||||
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
|
||||
<WebProjectProperties>
|
||||
<UseIIS>False</UseIIS>
|
||||
<AutoAssignPort>True</AutoAssignPort>
|
||||
<DevelopmentServerPort>1057</DevelopmentServerPort>
|
||||
<DevelopmentServerVPath>/</DevelopmentServerVPath>
|
||||
<IISUrl>
|
||||
</IISUrl>
|
||||
<NTLMAuthentication>False</NTLMAuthentication>
|
||||
<UseCustomServer>True</UseCustomServer>
|
||||
<CustomServerUrl>http://orchard.codeplex.com</CustomServerUrl>
|
||||
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
|
||||
</WebProjectProperties>
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
</Project>
|
@@ -82,7 +82,9 @@
|
||||
<Compile Include="ViewModels\SetupViewModel.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Views\Setup\Index.ascx" />
|
||||
<None Include="Views\Setup\Index.cshtml">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<Content Include="Web.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
@@ -18,6 +18,7 @@ using Orchard.Mvc.Filters;
|
||||
using Orchard.Mvc.ModelBinders;
|
||||
using Orchard.Mvc.Routes;
|
||||
using Orchard.Mvc.ViewEngines;
|
||||
using Orchard.Mvc.ViewEngines.Razor;
|
||||
using Orchard.Mvc.ViewEngines.WebForms;
|
||||
using Orchard.Settings;
|
||||
using Orchard.Setup.Commands;
|
||||
@@ -37,6 +38,7 @@ namespace Orchard.Setup {
|
||||
builder.RegisterType<RoutePublisher>().As<IRoutePublisher>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<ModelBinderPublisher>().As<IModelBinderPublisher>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<WebFormViewEngineProvider>().As<IViewEngineProvider>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<RazorViewEngineProvider>().As<IViewEngineProvider>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<ViewEngineFilter>().As<IFilterProvider>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<ThemeFilter>().As<IFilterProvider>().InstancePerLifetimeScope();
|
||||
builder.RegisterType<PageTitleBuilder>().As<IPageTitleBuilder>().InstancePerLifetimeScope();
|
||||
|
@@ -1,52 +0,0 @@
|
||||
<%@ Control Language="C#" Inherits="Orchard.Mvc.ViewUserControl<SetupViewModel>" %>
|
||||
<%@ Import Namespace="Orchard.Setup.ViewModels"%>
|
||||
<h1><%: Html.TitleForPage(T("Get Started").ToString())%></h1>
|
||||
<%
|
||||
using (Html.BeginFormAntiForgeryPost()) { %>
|
||||
<%: Html.ValidationSummary() %>
|
||||
<h2><%: T("Please answer a few questions to configure your site.")%></h2>
|
||||
<fieldset class="site">
|
||||
<div>
|
||||
<label for="SiteName"><%: T("What is the name of your site?") %></label>
|
||||
<%: Html.TextBoxFor(svm => svm.SiteName, new { autofocus = "autofocus" })%>
|
||||
</div>
|
||||
<div>
|
||||
<label for="AdminUsername"><%: T("Choose a user name:") %></label>
|
||||
<%: Html.EditorFor(svm => svm.AdminUsername)%>
|
||||
</div>
|
||||
<div>
|
||||
<label for="AdminPassword"><%: T("Choose a password:") %></label>
|
||||
<%: Html.PasswordFor(svm => svm.AdminPassword) %>
|
||||
</div>
|
||||
<div>
|
||||
<label for="ConfirmAdminPassword"><%: T("Confirm the password:") %></label>
|
||||
<%: Html.PasswordFor(svm => svm.ConfirmPassword)%>
|
||||
</div>
|
||||
</fieldset><%
|
||||
if (!Model.DatabaseIsPreconfigured) { %>
|
||||
<fieldset class="data">
|
||||
<legend><%: T("How would you like to store your data?") %></legend>
|
||||
<%: Html.ValidationMessage("DatabaseOptions", "Unable to setup data storage") %>
|
||||
<div>
|
||||
<%: Html.RadioButtonFor(svm => svm.DatabaseOptions, true, new { id = "builtin" })%>
|
||||
<label for="builtin" class="forcheckbox"><%: T("Use built-in data storage (SQL Server Compact)")%></label>
|
||||
</div>
|
||||
<div>
|
||||
<%: Html.RadioButtonFor(svm => svm.DatabaseOptions, false, new { id = "sql" })%>
|
||||
<label for="sql" class="forcheckbox"><%: T("Use an existing SQL Server (or SQL Express) database") %></label>
|
||||
<div data-controllerid="sql">
|
||||
<label for="DatabaseConnectionString"><%: T("Connection string") %></label>
|
||||
<%: Html.EditorFor(svm => svm.DatabaseConnectionString)%>
|
||||
<span class="hint"><%: T("Example:") %><br /><%: T("Data Source=sqlServerName;Initial Catalog=dbName;Persist Security Info=True;User ID=userName;Password=password") %></span>
|
||||
</div>
|
||||
<div data-controllerid="sql">
|
||||
<label for="DatabaseTablePrefix"><%: T("Database Table Prefix") %></label>
|
||||
<%: Html.EditorFor(svm => svm.DatabaseTablePrefix)%>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset><%
|
||||
} %>
|
||||
<fieldset>
|
||||
<input class="button primaryAction" type="submit" value="<%: T("Finish Setup") %>" />
|
||||
</fieldset><%
|
||||
} %>
|
@@ -0,0 +1,58 @@
|
||||
<div>
|
||||
@model Orchard.Setup.ViewModels.SetupViewModel
|
||||
|
||||
<h1>@Html.TitleForPage(T("Get Started").ToString())</h1>
|
||||
|
||||
@using (Html.BeginFormAntiForgeryPost()) {
|
||||
<text>
|
||||
@Html.ValidationSummary()
|
||||
<h2>@T("Please answer a few questions to configure your site.")</h2>
|
||||
<fieldset class="site">
|
||||
<div>
|
||||
<label for="SiteName">@T("What is the name of your site?")</label>
|
||||
@Html.TextBoxFor(svm => svm.SiteName, new { autofocus = "autofocus" })
|
||||
</div>
|
||||
<div>
|
||||
<label for="AdminUsername">@T("Choose a user name:")</label>
|
||||
@Html.EditorFor(svm => svm.AdminUsername)
|
||||
</div>
|
||||
<div>
|
||||
<label for="AdminPassword">@T("Choose a password:")</label>
|
||||
@Html.PasswordFor(svm => svm.AdminPassword)
|
||||
</div>
|
||||
<div>
|
||||
<label for="ConfirmAdminPassword">@T("Confirm the password:")</label>
|
||||
@Html.PasswordFor(svm => svm.ConfirmPassword)
|
||||
</div>
|
||||
</fieldset>
|
||||
@if (!Model.DatabaseIsPreconfigured) {
|
||||
<fieldset class="data">
|
||||
<legend>@T("How would you like to store your data?")</legend>
|
||||
@Html.ValidationMessage("DatabaseOptions", "Unable to setup data storage")
|
||||
<div>
|
||||
@Html.RadioButtonFor(svm => svm.DatabaseOptions, true, new { id = "builtin" })
|
||||
<label for="builtin" class="forcheckbox">@T("Use built-in data storage (SQL Server Compact)")</label>
|
||||
</div>
|
||||
<div>
|
||||
@Html.RadioButtonFor(svm => svm.DatabaseOptions, false, new { id = "sql" })
|
||||
<label for="sql" class="forcheckbox">@T("Use an existing SQL Server (or SQL Express) database")</label>
|
||||
<div data-controllerid="sql">
|
||||
<label for="DatabaseConnectionString">@T("Connection string")</label>
|
||||
@Html.EditorFor(svm => svm.DatabaseConnectionString)
|
||||
<span class="hint">
|
||||
@T("Example:")<br />@T("Data Source=sqlServerName;Initial Catalog=dbName;Persist Security Info=True;User ID=userName;Password=password")
|
||||
</span>
|
||||
</div>
|
||||
<div data-controllerid="sql">
|
||||
<label for="DatabaseTablePrefix">@T("Database Table Prefix")</label>
|
||||
@Html.EditorFor(svm => svm.DatabaseTablePrefix)
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
}
|
||||
<fieldset>
|
||||
<input class="button primaryAction" type="submit" value='@T("Finish Setup")' />
|
||||
</fieldset>
|
||||
</text>
|
||||
}
|
||||
</div>
|
@@ -6,7 +6,7 @@
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{50B779EA-EC00-4699-84C0-03B395C365D2}</ProjectGuid>
|
||||
<ProjectTypeGuids>{e53f8fea-eae0-44a6-8774-ffd645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Orchard.Web</RootNamespace>
|
||||
|
@@ -9,8 +9,31 @@
|
||||
-->
|
||||
<configuration>
|
||||
|
||||
<configSections>
|
||||
<sectionGroup name="system.razor.web" type="System.Razor.Web.Configuration.SystemRazorWebSectionGroup, System.Razor.Web">
|
||||
<section name="host" type="System.Razor.Web.Configuration.HostSection, System.Razor.Web" requirePermission="false" />
|
||||
<section name="pages" type="System.Razor.Web.Configuration.RazorPagesSection, System.Razor.Web" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<appSettings/>
|
||||
<system.diagnostics configSource="Config\Diagnostics.config"/>
|
||||
|
||||
<system.razor.web>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="Orchard.Mvc.ViewEngines.Razor.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="System.Linq"/>
|
||||
<add namespace="System.Collections.Generic"/>
|
||||
<add namespace="Orchard.Mvc.Html"/>
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.razor.web>
|
||||
|
||||
<!--
|
||||
Set default transaction timeout to 30 minutes so that interactive debugging
|
||||
is easier (default timeout is less than one minute)
|
||||
@@ -76,8 +99,8 @@
|
||||
<providers>
|
||||
<clear/>
|
||||
<add name="OrchardRoleProvider" type="Orchard.Security.Providers.OrchardRoleProvider, Orchard.Framework"/>
|
||||
<add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
||||
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
|
||||
<!--<add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>-->
|
||||
<!--<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>-->
|
||||
</providers>
|
||||
</roleManager>
|
||||
<!--
|
||||
@@ -123,7 +146,7 @@
|
||||
<probing privatePath="App_Data/Dependencies"/>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0" newVersion="3.0.0.0"/>
|
||||
<bindingRedirect oldVersion="2.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
204
src/Orchard.sln
204
src/Orchard.sln
@@ -79,144 +79,348 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.ArchiveLater", "Orc
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
CodeCoverage|Any CPU = CodeCoverage|Any CPU
|
||||
Coverage|Any CPU = Coverage|Any CPU
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
FxCop|Any CPU = FxCop|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{50B779EA-EC00-4699-84C0-03B395C365D2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2D1D92BB-4555-4CBE-8D0E-63563D6CE4C6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{ABC826D4-2FA1-4F2F-87DE-E6095F653810}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{F112851D-B023-4746-B6B1-8D2E5AD8F7AA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{954CA994-D204-468B-9D69-51F6AD3E1C29}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D9A7B330-CD22-4DA1-A95A-8DE1982AD8EB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{79AED36E-ABD0-4747-93D3-8722B042454B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{6CB3EB30-F725-45C0-9742-42599BA8E8D2}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D10AD48F-407D-4DB5-A328-173EC7CB010F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9916839C-39FC-4CEB-A5AF-89CA7E87119F}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{2FC1D9C8-446D-4414-B252-5E9FBE61EB63}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17C44253-65A2-4597-98C7-16EE576824B6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{63FBD4D9-E1DA-4A7B-AA6A-D6074FE50867}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{14C049FD-B35B-415A-A824-87F26B26E7FD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{67C1D3AF-A0EC-46B2-BAE1-DF1DA8E0B890}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5D0F00F0-26C9-4785-AD61-B85710C60EB0}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5E5E7A21-C7B2-44D8-8593-2F9541AE041D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4AB4B5B6-277E-4FF6-B69B-7AE9E16D2A56}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E65E5633-C0FF-453C-A906-481C14F969D6}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7354DF37-934B-46CF-A13C-455D5F5F5413}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{33B1BC8D-E292-4972-A363-22056B207156}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{72457126-E118-4171-A08F-9A709EE4B7FC}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{CDE24A24-01D3-403C-84B9-37722E18DFB7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{17F86780-9A1F-4AA1-86F1-875EEC2730C7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{94E694A2-D140-468D-A277-C5FCE1D13E9B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4BE4EB01-AC56-4048-924E-2CA77F509ABA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{EA2B9121-EF54-40A6-A53E-6593C86EE696}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0E7646E8-FE8F-43C1-8799-D97860925EC4}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8A4E42CE-79F8-4BE2-8B1E-A6B83432123B}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{D5D447D7-EF8E-43A6-B9A4-3B025DD9F45D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{DFD137A2-DDB5-4D22-BE0D-FA9AD4C8B059}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.CodeCoverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Coverage|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.FxCop|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.FxCop|Any CPU.Build.0 = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{0DFA2E10-96C8-4E05-BC10-B710B97ECCDE}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.CodeCoverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.Coverage|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.FxCop|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1C981BB3-26F7-494C-9005-CC27A5144233}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
|
11
src/Orchard/Commands/CommandBackgroundService.cs.rej
Normal file
11
src/Orchard/Commands/CommandBackgroundService.cs.rej
Normal file
@@ -0,0 +1,11 @@
|
||||
--- CommandBackgroundService.cs
|
||||
+++ CommandBackgroundService.cs
|
||||
@@ -1,7 +1,7 @@
|
||||
using Orchard.Tasks;
|
||||
|
||||
namespace Orchard.Commands {
|
||||
- public class CommandBackgroundService : IBackgroundService {
|
||||
+ class CommandBackgroundService : IBackgroundService {
|
||||
public void Sweep() {
|
||||
// Don't run any background service in command line
|
||||
}
|
@@ -173,12 +173,10 @@ namespace Orchard.Commands {
|
||||
};
|
||||
}
|
||||
|
||||
protected void MvcSingletons(ContainerBuilder builder) {
|
||||
builder.RegisterInstance(ControllerBuilder.Current);
|
||||
builder.RegisterInstance(RouteTable.Routes);
|
||||
builder.RegisterInstance(ModelBinders.Binders);
|
||||
builder.RegisterInstance(ModelMetadataProviders.Current);
|
||||
builder.RegisterInstance(ViewEngines.Engines);
|
||||
static void MvcSingletons(ContainerBuilder builder) {
|
||||
builder.Register(ctx => RouteTable.Routes).SingleInstance();
|
||||
builder.Register(ctx => ModelBinders.Binders).SingleInstance();
|
||||
builder.Register(ctx => ViewEngines.Engines).SingleInstance();
|
||||
}
|
||||
|
||||
private class CommandHostShellContainerRegistrations : IShellContainerRegistrations {
|
||||
|
@@ -1,15 +1,158 @@
|
||||
using Autofac;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Autofac;
|
||||
using Autofac.Integration.Web;
|
||||
|
||||
namespace Orchard.Environment {
|
||||
public class DefaultOrchardHostContainer : IOrchardHostContainer {
|
||||
//IContainerProvider
|
||||
|
||||
public class DefaultOrchardHostContainer : IOrchardHostContainer, IMvcServiceLocator {
|
||||
private readonly IContainer _container;
|
||||
|
||||
|
||||
public DefaultOrchardHostContainer(IContainer container) {
|
||||
_container = container;
|
||||
}
|
||||
|
||||
public T Resolve<T>() {
|
||||
return _container.Resolve<T>();
|
||||
|
||||
static bool TryResolveAtScope(ILifetimeScope scope, string key, Type serviceType, out object value) {
|
||||
if (scope == null) {
|
||||
value = null;
|
||||
return false;
|
||||
}
|
||||
return key == null ? scope.TryResolve(serviceType, out value) : scope.TryResolve(key, serviceType, out value);
|
||||
}
|
||||
|
||||
bool TryResolve(string key, Type serviceType, out object value) {
|
||||
// shared objects are resolved from the host first
|
||||
// this is to ensure the lifecycle of components registered at the host level
|
||||
// is consistent inside and outside of a containerproviderscope
|
||||
return
|
||||
TryResolveAtScope(_container, key, serviceType, out value) ||
|
||||
TryResolveAtScope(Scope.CurrentLifetimeScope, key, serviceType, out value);
|
||||
}
|
||||
|
||||
static object CreateInstance(Type t) {
|
||||
if (t.IsAbstract || t.IsInterface)
|
||||
return null;
|
||||
|
||||
return Activator.CreateInstance(t);
|
||||
}
|
||||
|
||||
TService Resolve<TService>(Type serviceType, TService defaultValue = default(TService)) {
|
||||
object value;
|
||||
return TryResolve(null, serviceType, out value) ? (TService)value : defaultValue;
|
||||
}
|
||||
|
||||
TService Resolve<TService>(Type serviceType, string key, TService defaultValue = default(TService)) {
|
||||
object value;
|
||||
return TryResolve(key, serviceType, out value) ? (TService)value : defaultValue;
|
||||
}
|
||||
|
||||
TService Resolve<TService>(Type serviceType, Func<Type, TService> defaultFactory) {
|
||||
object value;
|
||||
return TryResolve(null, serviceType, out value) ? (TService)value : defaultFactory(serviceType);
|
||||
}
|
||||
|
||||
TService Resolve<TService>(Type serviceType, string key, Func<Type, TService> defaultFactory) {
|
||||
object value;
|
||||
return TryResolve(key, serviceType, out value) ? (TService)value : defaultFactory(serviceType);
|
||||
}
|
||||
|
||||
TService IOrchardHostContainer.Resolve<TService>() {
|
||||
// Resolve service, or null
|
||||
return Resolve(typeof(TService), default(TService));
|
||||
}
|
||||
|
||||
object IServiceProvider.GetService(Type serviceType) {
|
||||
// Resolve service, or null
|
||||
return Resolve(serviceType, default(object));
|
||||
}
|
||||
|
||||
object IServiceLocator.GetInstance(Type serviceType) {
|
||||
// Create instance, or default ctor
|
||||
return Resolve(serviceType, CreateInstance);
|
||||
}
|
||||
|
||||
object IServiceLocator.GetInstance(Type serviceType, string key) {
|
||||
// Create instance, or default ctor
|
||||
return Resolve(serviceType, key, CreateInstance);
|
||||
}
|
||||
|
||||
TService IServiceLocator.GetInstance<TService>() {
|
||||
// Create instance, or default ctor
|
||||
return Resolve(typeof(TService), t => (TService)CreateInstance(t));
|
||||
}
|
||||
|
||||
TService IServiceLocator.GetInstance<TService>(string key) {
|
||||
// Create instance, or default ctor
|
||||
return Resolve(typeof(TService), key, t => (TService)CreateInstance(t));
|
||||
}
|
||||
|
||||
IEnumerable<TService> IServiceLocator.GetAllInstances<TService>() {
|
||||
return Resolve(typeof(IEnumerable<TService>), Enumerable.Empty<TService>());
|
||||
}
|
||||
|
||||
IEnumerable<object> IServiceLocator.GetAllInstances(Type serviceType) {
|
||||
return Resolve<IEnumerable>(typeof(IEnumerable<>).MakeGenericType(serviceType), Enumerable.Empty<object>()).Cast<object>();
|
||||
}
|
||||
|
||||
void IMvcServiceLocator.Release(object instance) {
|
||||
// Autofac manages component disposal lifecycle internally.
|
||||
}
|
||||
|
||||
|
||||
public static IDisposable ContainerProviderScope(IContainerProvider containerProvider) {
|
||||
return new Scope(containerProvider);
|
||||
}
|
||||
|
||||
class Scope : IDisposable {
|
||||
private readonly IContainerProvider _containerProvider;
|
||||
readonly Scope _prior;
|
||||
|
||||
public Scope(IContainerProvider containerProvider) {
|
||||
_containerProvider = containerProvider;
|
||||
_prior = Current;
|
||||
Current = this;
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
Current = _prior;
|
||||
}
|
||||
|
||||
public static ILifetimeScope CurrentLifetimeScope {
|
||||
get {
|
||||
var currentScope = Current;
|
||||
if (currentScope != null &&
|
||||
currentScope._containerProvider != null) {
|
||||
return currentScope._containerProvider.RequestLifetime;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
[ThreadStatic]
|
||||
static Scope _fallback;
|
||||
static readonly object _contextKey = new object();
|
||||
|
||||
static Scope Current {
|
||||
get {
|
||||
var context = HttpContext.Current;
|
||||
return context != null ? (Scope)context.Items[_contextKey] : _fallback;
|
||||
}
|
||||
set {
|
||||
var context = HttpContext.Current;
|
||||
if (context != null)
|
||||
context.Items[_contextKey] = value;
|
||||
else {
|
||||
_fallback = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,6 @@ using Orchard.Utility.Extensions;
|
||||
|
||||
namespace Orchard.Environment {
|
||||
public class DefaultOrchardHost : IOrchardHost, IShellSettingsManagerEventHandler, IShellDescriptorManagerEventHandler {
|
||||
private readonly ControllerBuilder _controllerBuilder;
|
||||
private readonly IHostLocalRestart _hostLocalRestart;
|
||||
private readonly IShellSettingsManager _shellSettingsManager;
|
||||
private readonly IShellContextFactory _shellContextFactory;
|
||||
@@ -36,16 +35,13 @@ namespace Orchard.Environment {
|
||||
IProcessingEngine processingEngine,
|
||||
IExtensionLoaderCoordinator extensionLoaderCoordinator,
|
||||
ICacheManager cacheManager,
|
||||
ControllerBuilder controllerBuilder,
|
||||
IHostLocalRestart hostLocalRestart ) {
|
||||
|
||||
_shellSettingsManager = shellSettingsManager;
|
||||
_shellContextFactory = shellContextFactory;
|
||||
_runningShellTable = runningShellTable;
|
||||
_processingEngine = processingEngine;
|
||||
_extensionLoaderCoordinator = extensionLoaderCoordinator;
|
||||
_cacheManager = cacheManager;
|
||||
_controllerBuilder = controllerBuilder;
|
||||
_hostLocalRestart = hostLocalRestart;
|
||||
|
||||
T = NullLocalizer.Instance;
|
||||
@@ -62,8 +58,7 @@ namespace Orchard.Environment {
|
||||
void IOrchardHost.Initialize() {
|
||||
Logger.Information("Initializing");
|
||||
ViewEngines.Engines.Insert(0, LayoutViewEngine.CreateShim());
|
||||
_controllerBuilder.SetControllerFactory(new OrchardControllerFactory());
|
||||
//ServiceLocator.SetLocator(t => _containerProvider.RequestLifetime.Resolve(t));
|
||||
|
||||
|
||||
BuildCurrent();
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.IO;
|
||||
using System.Web.Hosting;
|
||||
using System.Web.Mvc;
|
||||
using Autofac;
|
||||
using Autofac.Configuration;
|
||||
using Orchard.Caching;
|
||||
@@ -129,7 +130,9 @@ namespace Orchard.Environment {
|
||||
}
|
||||
}
|
||||
|
||||
OrchardHostContainerRegistry.RegisterHostContainer(new DefaultOrchardHostContainer(container));
|
||||
var hostContainer = new DefaultOrchardHostContainer(container);
|
||||
MvcServiceLocator.SetCurrent(hostContainer);
|
||||
OrchardHostContainerRegistry.RegisterHostContainer(hostContainer);
|
||||
|
||||
return container;
|
||||
}
|
||||
|
@@ -10,10 +10,9 @@ namespace Orchard.Mvc.ModelBinders {
|
||||
|
||||
public KeyedListModelBinder(
|
||||
ModelBinderDictionary binders,
|
||||
ModelMetadataProvider providers,
|
||||
Func<T, string> keySelector) {
|
||||
_binders = binders;
|
||||
_providers = providers;
|
||||
_providers = ModelMetadataProviders.Current;
|
||||
_keySelector = keySelector;
|
||||
}
|
||||
|
||||
|
@@ -11,6 +11,7 @@ namespace Orchard.Mvc {
|
||||
public class MvcModule : Module {
|
||||
|
||||
protected override void Load(ContainerBuilder moduleBuilder) {
|
||||
moduleBuilder.RegisterType<OrchardControllerFactory>().As<IControllerFactory>().InstancePerDependency();
|
||||
moduleBuilder.RegisterType<FilterResolvingActionInvoker>().As<IActionInvoker>().InstancePerDependency();
|
||||
moduleBuilder.RegisterType<ShellRoute>().InstancePerDependency();
|
||||
|
||||
|
@@ -136,12 +136,14 @@ namespace Orchard.Mvc.Routes {
|
||||
}
|
||||
|
||||
public void ProcessRequest(HttpContext context) {
|
||||
_containerProvider.BeginRequestLifetime();
|
||||
try {
|
||||
_httpHandler.ProcessRequest(context);
|
||||
}
|
||||
finally {
|
||||
_containerProvider.EndRequestLifetime();
|
||||
using (DefaultOrchardHostContainer.ContainerProviderScope(_containerProvider)) {
|
||||
_containerProvider.BeginRequestLifetime();
|
||||
try {
|
||||
_httpHandler.ProcessRequest(context);
|
||||
}
|
||||
finally {
|
||||
_containerProvider.EndRequestLifetime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -155,6 +157,7 @@ namespace Orchard.Mvc.Routes {
|
||||
|
||||
class HttpAsyncHandler : HttpHandler, IHttpAsyncHandler {
|
||||
private readonly IHttpAsyncHandler _httpAsyncHandler;
|
||||
private IDisposable _scope;
|
||||
|
||||
public HttpAsyncHandler(ContainerProvider containerProvider, IHttpAsyncHandler httpAsyncHandler)
|
||||
: base(containerProvider, httpAsyncHandler) {
|
||||
@@ -162,12 +165,14 @@ namespace Orchard.Mvc.Routes {
|
||||
}
|
||||
|
||||
public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData) {
|
||||
_scope = DefaultOrchardHostContainer.ContainerProviderScope(_containerProvider);
|
||||
_containerProvider.BeginRequestLifetime();
|
||||
try {
|
||||
return _httpAsyncHandler.BeginProcessRequest(context, cb, extraData);
|
||||
}
|
||||
catch {
|
||||
_containerProvider.EndRequestLifetime();
|
||||
_scope.Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
@@ -178,6 +183,7 @@ namespace Orchard.Mvc.Routes {
|
||||
}
|
||||
finally {
|
||||
_containerProvider.EndRequestLifetime();
|
||||
_scope.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Razor.Web;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Orchard.Environment;
|
||||
using Orchard.Environment.Extensions.Loaders;
|
||||
using Orchard.FileSystems.Dependencies;
|
||||
|
||||
namespace Orchard.Mvc.ViewEngines.Razor {
|
||||
public class RazorCompilationEventsShim : IShim {
|
||||
private static int _initialized;
|
||||
private IOrchardHostContainer _hostContainer;
|
||||
private static RazorCompilationEventsShim _instance;
|
||||
|
||||
private RazorCompilationEventsShim() {
|
||||
RazorBuildProvider.CodeGenerationStarted += new EventHandler(RazorBuildProvider_CodeGenerationStarted);
|
||||
OrchardHostContainerRegistry.RegisterShim(this);
|
||||
}
|
||||
|
||||
void RazorBuildProvider_CodeGenerationStarted(object sender, EventArgs e) {
|
||||
var provider = (RazorBuildProvider)sender;
|
||||
|
||||
var descriptors = DependenciesFolder.LoadDescriptors();
|
||||
var entries = descriptors
|
||||
.SelectMany(descriptor => Loaders
|
||||
.Where(loader => descriptor.LoaderName == loader.Name)
|
||||
.Select(loader => new {
|
||||
loader,
|
||||
descriptor,
|
||||
directive = loader.GetWebFormAssemblyDirective(descriptor),
|
||||
dependencies = loader.GetWebFormVirtualDependencies(descriptor)
|
||||
}));
|
||||
|
||||
foreach (var entry in entries) {
|
||||
if (entry.directive != null) {
|
||||
if (entry.directive.StartsWith("<%@ Assembly Name=\"")) {
|
||||
provider.AssemblyBuilder.AddAssemblyReference(Assembly.Load(entry.descriptor.Name));
|
||||
}
|
||||
else if (entry.directive.StartsWith("<%@ Assembly Src=\"")) {
|
||||
provider.AssemblyBuilder.AddAssemblyReference(BuildManager.GetCompiledAssembly(entry.descriptor.VirtualPath));
|
||||
}
|
||||
}
|
||||
foreach (var virtualDependency in entry.dependencies) {
|
||||
provider.AddVirtualPathDependency(virtualDependency);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public IOrchardHostContainer HostContainer {
|
||||
get { return _hostContainer; }
|
||||
set {
|
||||
_hostContainer = value;
|
||||
BuildManager = _hostContainer.Resolve<IBuildManager>();
|
||||
DependenciesFolder = _hostContainer.Resolve<IDependenciesFolder>();
|
||||
Loaders = _hostContainer.Resolve<IEnumerable<IExtensionLoader>>();
|
||||
}
|
||||
}
|
||||
|
||||
public IBuildManager BuildManager { get; set; }
|
||||
public IDependenciesFolder DependenciesFolder { get; set; }
|
||||
public IEnumerable<IExtensionLoader> Loaders { get; set; }
|
||||
|
||||
|
||||
|
||||
public static void EnsureInitialized() {
|
||||
var uninitialized = Interlocked.CompareExchange(ref _initialized, 1, 0) == 0;
|
||||
if (uninitialized)
|
||||
_instance = new RazorCompilationEventsShim();
|
||||
}
|
||||
}
|
||||
}
|
86
src/Orchard/Mvc/ViewEngines/Razor/RazorViewEngineProvider.cs
Normal file
86
src/Orchard/Mvc/ViewEngines/Razor/RazorViewEngineProvider.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Orchard.Logging;
|
||||
using Orchard.Mvc.ViewEngines.WebForms;
|
||||
|
||||
namespace Orchard.Mvc.ViewEngines.Razor {
|
||||
public class RazorViewEngineProvider : IViewEngineProvider {
|
||||
public RazorViewEngineProvider() {
|
||||
Logger = NullLogger.Instance;
|
||||
RazorCompilationEventsShim.EnsureInitialized();
|
||||
}
|
||||
static string[] DisabledFormats = new[] { "~/Disabled" };
|
||||
|
||||
public ILogger Logger { get; set; }
|
||||
|
||||
public IViewEngine CreateThemeViewEngine(CreateThemeViewEngineParams parameters) {
|
||||
// Area: if "area" in RouteData. Url hit for module...
|
||||
// Area-Layout Paths - no-op because LayoutViewEngine uses multi-pass instead of layout paths
|
||||
// Area-View Paths - no-op because LayoutViewEngine relies entirely on Partial view resolution
|
||||
// Area-Partial Paths - enable theming views associated with a module based on the route
|
||||
|
||||
// Layout Paths - no-op because LayoutViewEngine uses multi-pass instead of layout paths
|
||||
// View Paths - no-op because LayoutViewEngine relies entirely on Partial view resolution
|
||||
// Partial Paths -
|
||||
// {area}/{controller}/
|
||||
|
||||
// for "routed" request views...
|
||||
// enable /Views/{area}/{controller}/{viewName}
|
||||
|
||||
// enable /Views/{partialName}
|
||||
// enable /Views/"DisplayTemplates/"+{templateName}
|
||||
// enable /Views/"EditorTemplates/+{templateName}
|
||||
var partialViewLocationFormats = new[] {
|
||||
parameters.VirtualPath + "/Views/{0}.cshtml",
|
||||
};
|
||||
|
||||
//Logger.Debug("PartialViewLocationFormats (theme): \r\n\t-{0}", string.Join("\r\n\t-", partialViewLocationFormats));
|
||||
|
||||
var areaPartialViewLocationFormats = new[] {
|
||||
parameters.VirtualPath + "/Views/{2}/{1}/{0}.cshtml",
|
||||
};
|
||||
|
||||
//Logger.Debug("AreaPartialViewLocationFormats (theme): \r\n\t-{0}", string.Join("\r\n\t-", areaPartialViewLocationFormats));
|
||||
|
||||
var viewEngine = new CshtmlViewEngine {
|
||||
MasterLocationFormats = DisabledFormats,
|
||||
ViewLocationFormats = DisabledFormats,
|
||||
PartialViewLocationFormats = partialViewLocationFormats,
|
||||
AreaMasterLocationFormats = DisabledFormats,
|
||||
AreaViewLocationFormats = DisabledFormats,
|
||||
AreaPartialViewLocationFormats = areaPartialViewLocationFormats,
|
||||
ViewLocationCache = new ThemeViewLocationCache(parameters.VirtualPath),
|
||||
};
|
||||
|
||||
return viewEngine;
|
||||
}
|
||||
|
||||
public IViewEngine CreateModulesViewEngine(CreateModulesViewEngineParams parameters) {
|
||||
var areaFormats = new[] {
|
||||
"~/Core/{2}/Views/{1}/{0}.cshtml",
|
||||
"~/Modules/{2}/Views/{1}/{0}.cshtml",
|
||||
};
|
||||
|
||||
//Logger.Debug("AreaFormats (module): \r\n\t-{0}", string.Join("\r\n\t-", areaFormats));
|
||||
|
||||
var universalFormats = parameters.VirtualPaths
|
||||
.SelectMany(x => new[] {
|
||||
x + "/Views/{0}.cshtml",
|
||||
})
|
||||
.ToArray();
|
||||
|
||||
//Logger.Debug("UniversalFormats (module): \r\n\t-{0}", string.Join("\r\n\t-", universalFormats));
|
||||
|
||||
var viewEngine = new CshtmlViewEngine {
|
||||
MasterLocationFormats = DisabledFormats,
|
||||
ViewLocationFormats = universalFormats,
|
||||
PartialViewLocationFormats = universalFormats,
|
||||
AreaMasterLocationFormats = DisabledFormats,
|
||||
AreaViewLocationFormats = areaFormats,
|
||||
AreaPartialViewLocationFormats = areaFormats,
|
||||
};
|
||||
|
||||
return viewEngine;
|
||||
}
|
||||
}
|
||||
}
|
36
src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs
Normal file
36
src/Orchard/Mvc/ViewEngines/Razor/WebViewPage.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web.Mvc;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Mvc.Html;
|
||||
using Orchard.Security;
|
||||
using Orchard.Security.Permissions;
|
||||
|
||||
namespace Orchard.Mvc.ViewEngines.Razor {
|
||||
public abstract class WebViewPage : WebViewPage<object> {
|
||||
}
|
||||
|
||||
public abstract class WebViewPage<TModel> : System.Web.Mvc.WebViewPage<TModel> {
|
||||
public WebViewPage() {
|
||||
T = NullLocalizer.Instance;
|
||||
}
|
||||
|
||||
public Localizer T { get; set; }
|
||||
|
||||
public override void InitHelpers() {
|
||||
base.InitHelpers();
|
||||
T = LocalizationUtilities.Resolve(ViewContext, VirtualPath);
|
||||
}
|
||||
|
||||
public MvcHtmlString H(string value) {
|
||||
return MvcHtmlString.Create(Html.Encode(value));
|
||||
}
|
||||
|
||||
public bool AuthorizedFor(Permission permission) {
|
||||
return Html.Resolve<IAuthorizer>().Authorize(permission);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -85,6 +85,10 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\sharpziplib\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\aspnetmvc\Microsoft.WebPages.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\fluentnhibernate\NHibernate.dll</HintPath>
|
||||
@@ -102,6 +106,10 @@
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Razor.Web, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\lib\aspnetmvc\System.Razor.Web.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.Serialization">
|
||||
<RequiredTargetFramework>3.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
@@ -371,6 +379,9 @@
|
||||
<Compile Include="Environment\IHostLocalRestart.cs" />
|
||||
<Compile Include="Environment\IShellContainerRegistrations.cs" />
|
||||
<Compile Include="FileSystems\Dependencies\DynamicModuleVirtualPathProvider.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\Razor\RazorCompilationEventsShim.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\Razor\RazorViewEngineProvider.cs" />
|
||||
<Compile Include="Mvc\ViewEngines\Razor\WebViewPage.cs" />
|
||||
<Compile Include="Services\IHtmlFilter.cs" />
|
||||
<Compile Include="Utility\Hash.cs" />
|
||||
<Compile Include="Data\ISessionConfigurationCache.cs" />
|
||||
@@ -781,7 +792,6 @@
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
Reference in New Issue
Block a user