Migrating project to .net core

This commit is contained in:
Elitsa Marinovska
2020-07-13 13:38:41 +02:00
parent 6e5dfbf8da
commit c0d266fc92
17 changed files with 85 additions and 261 deletions

View File

@@ -1,8 +1,8 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using Umbraco.Core.Configuration;
using Umbraco.Core;
using Umbraco.Core.Configuration;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.Web.Editors;
using Umbraco.Web.Models.ContentEditing;

View File

@@ -1,14 +1,13 @@
using System;
using System.Net;
using System.Net.Http;
using System.Runtime.Serialization;
using System.Web.Hosting;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Configuration;
using Umbraco.Core.Configuration;
using Umbraco.Core.Exceptions;
using Umbraco.Core.Hosting;
using Umbraco.ModelsBuilder.Embedded.Building;
using Umbraco.Web.Editors;
using Umbraco.Web.WebApi.Filters;
using Umbraco.Web.BackOffice.Controllers;
using Umbraco.Web.BackOffice.Filters;
namespace Umbraco.ModelsBuilder.Embedded.BackOffice
{
@@ -28,8 +27,9 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
private readonly OutOfDateModelsStatus _outOfDateModels;
private readonly ModelsGenerationError _mbErrors;
private readonly DashboardReport _dashboardReport;
private readonly IHostingEnvironment _hostingEnvironment;
public ModelsBuilderDashboardController(IModelsBuilderConfig config, ModelsGenerator modelsGenerator, OutOfDateModelsStatus outOfDateModels, ModelsGenerationError mbErrors)
public ModelsBuilderDashboardController(IModelsBuilderConfig config, ModelsGenerator modelsGenerator, OutOfDateModelsStatus outOfDateModels, ModelsGenerationError mbErrors, IHostingEnvironment hostingEnvironment)
{
//_umbracoServices = umbracoServices;
_config = config;
@@ -37,13 +37,14 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
_outOfDateModels = outOfDateModels;
_mbErrors = mbErrors;
_dashboardReport = new DashboardReport(config, outOfDateModels, mbErrors);
_hostingEnvironment = hostingEnvironment;
}
// invoked by the dashboard
// requires that the user is logged into the backoffice and has access to the settings section
// beware! the name of the method appears in modelsbuilder.controller.js
[System.Web.Http.HttpPost] // use the http one, not mvc, with api controllers!
public HttpResponseMessage BuildModels()
[HttpPost] // use the http one, not mvc, with api controllers!
public IActionResult BuildModels()
{
try
{
@@ -52,10 +53,10 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
if (!config.ModelsMode.SupportsExplicitGeneration())
{
var result2 = new BuildResult { Success = false, Message = "Models generation is not enabled." };
return Request.CreateResponse(HttpStatusCode.OK, result2, Configuration.Formatters.JsonFormatter);
return Ok(result2);
}
var bin = HostingEnvironment.MapPath("~/bin");
var bin = _hostingEnvironment.MapPathContentRoot("~/bin");
if (bin == null)
throw new PanicException("bin is null.");
@@ -68,13 +69,13 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
_mbErrors.Report("Failed to build models.", e);
}
return Request.CreateResponse(HttpStatusCode.OK, GetDashboardResult(), Configuration.Formatters.JsonFormatter);
return Ok(GetDashboardResult());
}
// invoked by the back-office
// requires that the user is logged into the backoffice and has access to the settings section
[System.Web.Http.HttpGet] // use the http one, not mvc, with api controllers!
public HttpResponseMessage GetModelsOutOfDateStatus()
[HttpGet] // use the http one, not mvc, with api controllers!
public ActionResult<OutOfDateStatus> GetModelsOutOfDateStatus()
{
var status = _outOfDateModels.IsEnabled
? _outOfDateModels.IsOutOfDate
@@ -82,16 +83,16 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
: new OutOfDateStatus { Status = OutOfDateType.Current }
: new OutOfDateStatus { Status = OutOfDateType.Unknown };
return Request.CreateResponse(HttpStatusCode.OK, status, Configuration.Formatters.JsonFormatter);
return status;
}
// invoked by the back-office
// requires that the user is logged into the backoffice and has access to the settings section
// beware! the name of the method appears in modelsbuilder.controller.js
[System.Web.Http.HttpGet] // use the http one, not mvc, with api controllers!
public HttpResponseMessage GetDashboard()
[HttpGet] // use the http one, not mvc, with api controllers!
public ActionResult<Dashboard> GetDashboard()
{
return Request.CreateResponse(HttpStatusCode.OK, GetDashboardResult(), Configuration.Formatters.JsonFormatter);
return GetDashboardResult();
}
private Dashboard GetDashboardResult()
@@ -107,7 +108,7 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
}
[DataContract]
internal class BuildResult
public class BuildResult
{
[DataMember(Name = "success")]
public bool Success;
@@ -116,7 +117,7 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
}
[DataContract]
internal class Dashboard
public class Dashboard
{
[DataMember(Name = "enable")]
public bool Enable;
@@ -130,7 +131,7 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
public string LastError;
}
internal enum OutOfDateType
public enum OutOfDateType
{
OutOfDate,
Current,
@@ -138,7 +139,7 @@ namespace Umbraco.ModelsBuilder.Embedded.BackOffice
}
[DataContract]
internal class OutOfDateStatus
public class OutOfDateStatus
{
[DataMember(Name = "status")]
public OutOfDateType Status { get; set; }

View File

@@ -18,9 +18,6 @@ namespace Umbraco.ModelsBuilder.Embedded.Building
/// </summary>
internal abstract class Builder
{
private readonly IList<TypeModel> _typeModels;
protected Dictionary<string, string> ModelsMap { get; } = new Dictionary<string, string>();

View File

@@ -14,7 +14,7 @@ namespace Umbraco.ModelsBuilder.Embedded.Building
sb.Append("// <auto-generated>\n");
sb.Append("// This code was generated by a tool.\n");
sb.Append("//\n");
sb.AppendFormat("// Umbraco.ModelsBuilder.Embedded v{0}\n", ApiVersion.Current.Version);
sb.AppendFormat((string) "// Umbraco.ModelsBuilder.Embedded v{0}\n", (object) ApiVersion.Current.Version);
sb.Append("//\n");
sb.Append("// Changes to this file will be lost if the code is regenerated.\n");
sb.Append("// </auto-generated>\n");

View File

@@ -1,5 +1,4 @@
using Umbraco.Core;
using Umbraco.Core.Composing;
using Umbraco.Core.Composing;
using Umbraco.ModelsBuilder.Embedded.BackOffice;
using Umbraco.Web.Features;

View File

@@ -1,9 +1,7 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using Microsoft.AspNetCore.Routing;
using Umbraco.Configuration;
using Umbraco.Core.Configuration;
using Umbraco.Core.Composing;
@@ -11,9 +9,11 @@ using Umbraco.Core.IO;
using Umbraco.Core.Services;
using Umbraco.Core.Services.Implement;
using Umbraco.Core.Strings;
using Umbraco.Extensions;
using Umbraco.ModelsBuilder.Embedded.BackOffice;
using Umbraco.Web;
using Umbraco.Web.Mvc;
using Umbraco.Net;
using Umbraco.Web.Common.Lifetime;
using Umbraco.Web.Common.ModelBinders;
using Umbraco.Web.WebAssets;
namespace Umbraco.ModelsBuilder.Embedded.Compose
@@ -24,14 +24,22 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose
private readonly IShortStringHelper _shortStringHelper;
private readonly LiveModelsProvider _liveModelsProvider;
private readonly OutOfDateModelsStatus _outOfDateModels;
private readonly LinkGenerator _linkGenerator;
private readonly IUmbracoApplicationLifetime _umbracoApplicationLifetime;
private readonly IUmbracoRequestLifetime _umbracoRequestLifetime;
public ModelsBuilderComponent(IModelsBuilderConfig config, IShortStringHelper shortStringHelper, LiveModelsProvider liveModelsProvider, OutOfDateModelsStatus outOfDateModels)
public ModelsBuilderComponent(IModelsBuilderConfig config, IShortStringHelper shortStringHelper,
LiveModelsProvider liveModelsProvider, OutOfDateModelsStatus outOfDateModels, LinkGenerator linkGenerator,
IUmbracoRequestLifetime umbracoRequestLifetime, IUmbracoApplicationLifetime umbracoApplicationLifetime)
{
_config = config;
_shortStringHelper = shortStringHelper;
_liveModelsProvider = liveModelsProvider;
_outOfDateModels = outOfDateModels;
_shortStringHelper = shortStringHelper;
_linkGenerator = linkGenerator;
_umbracoRequestLifetime = umbracoRequestLifetime;
_umbracoApplicationLifetime = umbracoApplicationLifetime;
}
public void Initialize()
@@ -39,6 +47,7 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose
// always setup the dashboard
// note: UmbracoApiController instances are automatically registered
InstallServerVars();
_umbracoApplicationLifetime.ApplicationInit += InitializeApplication;
ContentModelBinder.ModelBindingException += ContentModelBinder_ModelBindingException;
@@ -55,6 +64,11 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose
public void Terminate()
{ }
private void InitializeApplication(object sender, EventArgs args)
{
_umbracoRequestLifetime.RequestEnd += (sender, context) => _liveModelsProvider.AppEndRequest(context);
}
private void InstallServerVars()
{
// register our url - for the backoffice api
@@ -73,10 +87,7 @@ namespace Umbraco.ModelsBuilder.Embedded.Compose
if (!(serverVars["umbracoPlugins"] is Dictionary<string, object> umbracoPlugins))
throw new ArgumentException("Invalid umbracoPlugins");
if (HttpContext.Current == null) throw new InvalidOperationException("HttpContext is null");
var urlHelper = new UrlHelper(new RequestContext(new HttpContextWrapper(HttpContext.Current), new RouteData()));
umbracoUrls["modelsBuilderBaseUrl"] = urlHelper.GetUmbracoApiServiceBaseUrl<ModelsBuilderDashboardController>(controller => controller.BuildModels());
umbracoUrls["modelsBuilderBaseUrl"] = _linkGenerator.GetUmbracoApiServiceBaseUrl<ModelsBuilderDashboardController>(controller => controller.BuildModels());
umbracoPlugins["modelsBuilder"] = GetModelsBuilderSettings();
};
}

View File

@@ -9,8 +9,6 @@ using Umbraco.ModelsBuilder.Embedded.Building;
namespace Umbraco.ModelsBuilder.Embedded.Compose
{
[ComposeBefore(typeof(IPublishedCacheComposer))]
[RuntimeLevel(MinLevel = RuntimeLevel.Run)]
public sealed class ModelsBuilderComposer : ICoreComposer

View File

@@ -1,28 +0,0 @@
using System.Web;
using System.Web.Compilation;
using Umbraco.ModelsBuilder.Embedded.Compose;
[assembly: PreApplicationStartMethod(typeof(ModelsBuilderInitializer), "Initialize")]
namespace Umbraco.ModelsBuilder.Embedded.Compose
{
public static class ModelsBuilderInitializer
{
public static void Initialize()
{
// for some reason, netstandard is missing from BuildManager.ReferencedAssemblies and yet, is part of
// the references that CSharpCompiler receives - in some cases eg when building views - but not when
// using BuildManager to build the PureLive models - where is it coming from? cannot figure it out
// so... cheating here
// this is equivalent to adding
// <add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" />
// to web.config system.web/compilation/assemblies
var netStandard = ReferencedAssemblies.GetNetStandardAssembly();
if (netStandard != null)
BuildManager.AddReferencedAssembly(netStandard);
}
}
}

View File

@@ -6,7 +6,7 @@ namespace Umbraco.ModelsBuilder.Embedded
/// Indicates that a property implements a given property alias.
/// </summary>
/// <remarks>And therefore it should not be generated.</remarks>
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
[AttributeUsage(AttributeTargets.Property /*, AllowMultiple = false, Inherited = false*/)]
public class ImplementPropertyTypeAttribute : Attribute
{
public ImplementPropertyTypeAttribute(string alias)

View File

@@ -1,7 +1,10 @@
using System;
using System.Threading;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Extensions;
using Umbraco.Core.Configuration;
using Umbraco.Configuration;
using Umbraco.Core;
using Umbraco.Core.Hosting;
using Umbraco.Core.Logging;
using Umbraco.ModelsBuilder.Embedded.Building;
@@ -69,7 +72,7 @@ namespace Umbraco.ModelsBuilder.Embedded
Interlocked.Exchange(ref _req, 1);
}
public void GenerateModelsIfRequested(object sender, EventArgs args)
public void GenerateModelsIfRequested()
{
//if (HttpContext.Current.Items[this] == null) return;
if (Interlocked.Exchange(ref _req, 0) == 0) return;
@@ -108,6 +111,15 @@ namespace Umbraco.ModelsBuilder.Embedded
_modelGenerator.GenerateModels();
}
public void AppEndRequest(HttpContext context)
{
var requestUri = new Uri(context.Request.GetEncodedUrl(), UriKind.RelativeOrAbsolute);
if (requestUri.IsClientSideRequest())
return;
if (!IsEnabled) return;
GenerateModelsIfRequested();
}
}
}

View File

@@ -1,47 +0,0 @@
using System;
using System.Web;
using Umbraco.Core;
using Umbraco.Web.Composing;
using Umbraco.ModelsBuilder.Embedded;
// will install only if configuration says it needs to be installed
[assembly: PreApplicationStartMethod(typeof(LiveModelsProviderModule), "Install")]
namespace Umbraco.ModelsBuilder.Embedded
{
// have to do this because it's the only way to subscribe to EndRequest,
// module is installed by assembly attribute at the top of this file
public class LiveModelsProviderModule : IHttpModule
{
private static LiveModelsProvider _liveModelsProvider;
public void Init(HttpApplication app)
{
app.EndRequest += App_EndRequest;
}
private void App_EndRequest(object sender, EventArgs e)
{
if (((HttpApplication)sender).Request.Url.IsClientSideRequest())
return;
// here we're using "Current." since we're in a module, it is possible in a round about way to inject into a module but for now we'll just use Current
if (_liveModelsProvider == null)
_liveModelsProvider = Current.Factory.TryGetInstance<LiveModelsProvider>(); // will be null in upgrade mode or if embedded MB is disabled
if (_liveModelsProvider?.IsEnabled ?? false)
_liveModelsProvider.GenerateModelsIfRequested(sender, e);
}
public void Dispose()
{
// nothing
}
public static void Install()
{
// always - don't read config in PreApplicationStartMethod
HttpApplication.RegisterModule(typeof(LiveModelsProviderModule));
}
}
}

View File

@@ -15,5 +15,4 @@ namespace Umbraco.ModelsBuilder.Embedded
public IAccessRule[] AccessRules => Array.Empty<IAccessRule>();
}
}

View File

@@ -1,13 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
[assembly: AssemblyTitle("Umbraco.ModelsBuilder.Embedded")]
[assembly: AssemblyDescription("Umbraco ModelsBuilder")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("Umbraco CMS")]
[assembly: ComVisible(false)]
[assembly: Guid("52ac0ba8-a60e-4e36-897b-e8b97a54ed1c")]
[assembly: InternalsVisibleTo("Umbraco.Tests")]

View File

@@ -2,12 +2,11 @@
using System.Linq.Expressions;
using System.Reflection;
using Umbraco.Core.Models.PublishedContent;
using Umbraco.ModelsBuilder;
using Umbraco.ModelsBuilder.Embedded;
// same namespace as original Umbraco.Web PublishedElementExtensions
// ReSharper disable once CheckNamespace
namespace Umbraco.Web
namespace Umbraco.Core
{
/// <summary>
/// Provides extension methods to models.
@@ -17,11 +16,11 @@ namespace Umbraco.Web
/// <summary>
/// Gets the value of a property.
/// </summary>
public static TValue ValueFor<TModel, TValue>(this TModel model, Expression<Func<TModel, TValue>> property, string culture = null, string segment = null, Fallback fallback = default, TValue defaultValue = default)
public static TValue ValueFor<TModel, TValue>(this TModel model, IPublishedValueFallback publishedValueFallback, Expression<Func<TModel, TValue>> property, string culture = null, string segment = null, Fallback fallback = default, TValue defaultValue = default)
where TModel : IPublishedElement
{
var alias = GetAlias(model, property);
return model.Value<TValue>(alias, culture, segment, fallback, defaultValue);
return model.Value<TValue>(publishedValueFallback, alias, culture, segment, fallback, defaultValue);
}
// fixme that one should be public so ppl can use it

View File

@@ -1,119 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{52AC0BA8-A60E-4E36-897B-E8B97A54ED1C}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Umbraco.ModelsBuilder.Embedded</RootNamespace>
<AssemblyName>Umbraco.ModelsBuilder.Embedded</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>portable</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>portable</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\Umbraco.ModelsBuilder.Embedded.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Web" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
<Compile Include="ApiVersion.cs" />
<Compile Include="BackOffice\ContentTypeModelValidatorBase.cs" />
<Compile Include="BackOffice\MediaTypeModelValidator.cs" />
<Compile Include="BackOffice\MemberTypeModelValidator.cs" />
<Compile Include="Building\Builder.cs" />
<Compile Include="Building\PropertyModel.cs" />
<Compile Include="Building\TextBuilder.cs" />
<Compile Include="Building\TextHeaderWriter.cs" />
<Compile Include="Building\TypeModel.cs" />
<Compile Include="Compose\DisabledModelsBuilderComponent.cs" />
<Compile Include="ConfigsExtensions.cs" />
<Compile Include="BackOffice\DashboardReport.cs" />
<Compile Include="ImplementPropertyTypeAttribute.cs" />
<Compile Include="ModelsBuilderAssemblyAttribute.cs" />
<Compile Include="ModelsBuilderDashboard.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="PublishedElementExtensions.cs" />
<Compile Include="ReferencedAssemblies.cs" />
<Compile Include="TypeExtensions.cs" />
<Compile Include="HashCombiner.cs" />
<Compile Include="LiveModelsProvider.cs" />
<Compile Include="LiveModelsProviderModule.cs" />
<Compile Include="Building\ModelsGenerator.cs" />
<Compile Include="BackOffice\ModelsBuilderDashboardController.cs" />
<Compile Include="Compose\ModelsBuilderComponent.cs" />
<Compile Include="Compose\ModelsBuilderComposer.cs" />
<Compile Include="Building\TypeModelHasher.cs" />
<Compile Include="Compose\ModelsBuilderInitializer.cs" />
<Compile Include="ModelsGenerationError.cs" />
<Compile Include="OutOfDateModelsStatus.cs" />
<Compile Include="PublishedModelUtility.cs" />
<Compile Include="PureLiveModelFactory.cs" />
<Compile Include="UmbracoServices.cs" />
<Compile Include="BackOffice\ContentTypeModelValidator.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.CSharp">
<Version>2.10.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub">
<Version>1.0.0</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="System.ComponentModel.Annotations">
<Version>4.7.0</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Umbraco.Core\Umbraco.Core.csproj">
<Project>{29aa69d9-b597-4395-8d42-43b1263c240a}</Project>
<Name>Umbraco.Core</Name>
</ProjectReference>
<ProjectReference Include="..\Umbraco.Infrastructure\Umbraco.Infrastructure.csproj">
<Project>{3ae7bf57-966b-45a5-910a-954d7c554441}</Project>
<Name>Umbraco.Infrastructure</Name>
</ProjectReference>
<ProjectReference Include="..\Umbraco.Web\Umbraco.Web.csproj">
<Project>{651e1350-91b6-44b7-bd60-7207006d7003}</Project>
<Name>Umbraco.Web</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNet.Mvc">
<Version>5.2.7</Version>
</PackageReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<OutputType>Library</OutputType>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<DocumentationFile>bin\Release\Umbraco.ModelsBuilder.Embedded.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Umbraco.Core\Umbraco.Core.csproj" />
<ProjectReference Include="..\Umbraco.Infrastructure\Umbraco.Infrastructure.csproj" />
<ProjectReference Include="..\Umbraco.Web.BackOffice\Umbraco.Web.BackOffice.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
@@ -6,6 +6,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Umbraco.Examine.Lucene\Umbraco.Examine.Lucene.csproj" />
<ProjectReference Include="..\Umbraco.ModelsBuilder.Embedded\Umbraco.ModelsBuilder.Embedded.csproj" />
<ProjectReference Include="..\Umbraco.Persistance.SqlCe\Umbraco.Persistance.SqlCe.csproj" />
<ProjectReference Include="..\Umbraco.PublishedCache.NuCache\Umbraco.PublishedCache.NuCache.csproj" />
<ProjectReference Include="..\Umbraco.Web.BackOffice\Umbraco.Web.BackOffice.csproj" />
@@ -15,7 +16,6 @@
<ItemGroup>
<Folder Include="Views" />
<Folder Include="Views\" />
<Folder Include="wwwroot\Media" />
<Folder Include="wwwroot\Umbraco\views\install" />
</ItemGroup>

View File

@@ -120,10 +120,6 @@
<Project>{0fad7d2a-d7dd-45b1-91fd-488bb6cdacea}</Project>
<Name>Umbraco.Examine.Lucene</Name>
</ProjectReference>
<ProjectReference Include="..\Umbraco.ModelsBuilder.Embedded\Umbraco.ModelsBuilder.Embedded.csproj">
<Project>{52ac0ba8-a60e-4e36-897b-e8b97a54ed1c}</Project>
<Name>Umbraco.ModelsBuilder.Embedded</Name>
</ProjectReference>
<ProjectReference Include="..\Umbraco.PublishedCache.NuCache\Umbraco.PublishedCache.NuCache.csproj">
<Project>{f6de8da0-07cc-4ef2-8a59-2bc81dbb3830}</Project>
<Name>Umbraco.PublishedCache.NuCache</Name>
@@ -360,4 +356,4 @@
<Message Text="ConfigFile: $(OriginalFileName) -&gt; $(OutputFileName)" Importance="high" Condition="Exists('$(ModifiedFileName)')" />
<Copy SourceFiles="$(ModifiedFileName)" DestinationFiles="$(OutputFileName)" OverwriteReadOnlyFiles="true" SkipUnchangedFiles="false" Condition="Exists('$(ModifiedFileName)')" />
</Target>
</Project>
</Project>