diff --git a/src/Umbraco.Configuration/Models/ModelsBuilderConfig.cs b/src/Umbraco.Configuration/Models/ModelsBuilderConfig.cs
index f797cc4383..eb2047d4db 100644
--- a/src/Umbraco.Configuration/Models/ModelsBuilderConfig.cs
+++ b/src/Umbraco.Configuration/Models/ModelsBuilderConfig.cs
@@ -20,7 +20,7 @@ namespace Umbraco.Configuration.Models
_configuration = configuration;
}
- public string DefaultModelsDirectory => "~/App_Data/Models";
+ public string DefaultModelsDirectory => "~/Umbraco/Models";
///
/// Gets a value indicating whether the whole models experience is enabled.
@@ -65,7 +65,7 @@ namespace Umbraco.Configuration.Models
///
/// Default is ~/App_Data/Models but that can be changed.
public string ModelsDirectory =>
- _configuration.GetValue(Prefix+"ModelsDirectory", "~/App_Data/Models");
+ _configuration.GetValue(Prefix+"ModelsDirectory", "~/Umbraco/Models");
///
/// Gets a value indicating whether to accept an unsafe value for ModelsDirectory.
diff --git a/src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs b/src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
index 4144678712..51898497ed 100644
--- a/src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
+++ b/src/Umbraco.ModelsBuilder.Embedded/PureLiveModelFactory.cs
@@ -35,7 +35,7 @@ namespace Umbraco.ModelsBuilder.Embedded
private static readonly Regex AssemblyVersionRegex = new Regex("AssemblyVersion\\(\"[0-9]+.[0-9]+.[0-9]+.[0-9]+\"\\)", RegexOptions.Compiled);
private const string CodeGen = "~/App_Data/Models/";
- private static readonly string[] OurFiles = { "models.hash", "models.generated.cs", "all.generated.cs", "all.dll.path", "models.err" };
+ private static readonly string[] OurFiles = { "models.hash", "models.generated.cs", "all.generated.cs", "all.dll.path", "models.err", "Compiled" };
private readonly IModelsBuilderConfig _config;
private readonly IHostingEnvironment _hostingEnvironment;
@@ -60,7 +60,6 @@ namespace Umbraco.ModelsBuilder.Embedded
_errors = new ModelsGenerationError(config, _hostingEnvironment);
_ver = 1; // zero is for when we had no version
_skipver = -1; // nothing to skip
-
if (!hostingEnvironment.IsHosted) return;
var modelsDirectory = _config.ModelsDirectoryAbsolute(_hostingEnvironment);
@@ -215,12 +214,12 @@ namespace Umbraco.ModelsBuilder.Embedded
_locker.ExitReadLock();
}
- var buildManagerLocked = false;
+ var roslynLocked = false;
try
{
// always take the BuildManager lock *before* taking the _locker lock
// to avoid possible deadlock situations (see notes above)
- Monitor.Enter(RoslynCompiler, ref buildManagerLocked);
+ Monitor.Enter(RoslynCompiler, ref roslynLocked);
_locker.EnterUpgradeableReadLock();
@@ -273,7 +272,7 @@ namespace Umbraco.ModelsBuilder.Embedded
_locker.ExitWriteLock();
if (_locker.IsUpgradeableReadLockHeld)
_locker.ExitUpgradeableReadLock();
- if (buildManagerLocked)
+ if (roslynLocked)
Monitor.Exit(RoslynCompiler);
}
}
@@ -477,7 +476,7 @@ namespace Umbraco.ModelsBuilder.Embedded
private string GetOutputAssemblyPath(string currentHash)
{
- var dirInfo = new DirectoryInfo(Path.Combine(_hostingEnvironment.MapPathContentRoot(Constants.SystemDirectories.TempData), "Models"));
+ var dirInfo = new DirectoryInfo(Path.Combine(_config.ModelsDirectoryAbsolute(_hostingEnvironment), "Compiled"));
if (!dirInfo.Exists)
Directory.CreateDirectory(dirInfo.FullName);
return Path.Combine(dirInfo.FullName, $"generated.cs{currentHash}.dll");