diff --git a/src/Microsoft.Extensions.ProjectModel.Abstractions.Sources/IProjectContext.cs b/src/Microsoft.Extensions.ProjectModel.Abstractions.Sources/IProjectContext.cs index ce7731fac6..972f85caff 100644 --- a/src/Microsoft.Extensions.ProjectModel.Abstractions.Sources/IProjectContext.cs +++ b/src/Microsoft.Extensions.ProjectModel.Abstractions.Sources/IProjectContext.cs @@ -22,6 +22,7 @@ namespace Microsoft.Extensions.ProjectModel string PackageLockFile { get; } string PackagesDirectory { get; } string TargetDirectory { get; } + string AssemblyName { get; } string AssemblyFullPath { get; } IEnumerable CompilationItems { get; } IEnumerable EmbededItems { get; } diff --git a/src/Microsoft.Extensions.ProjectModel.DotNet.Sources/DotNetProjectContext.cs b/src/Microsoft.Extensions.ProjectModel.DotNet.Sources/DotNetProjectContext.cs index b2b9851ea8..fcacbd75f1 100644 --- a/src/Microsoft.Extensions.ProjectModel.DotNet.Sources/DotNetProjectContext.cs +++ b/src/Microsoft.Extensions.ProjectModel.DotNet.Sources/DotNetProjectContext.cs @@ -66,7 +66,9 @@ namespace Microsoft.Extensions.ProjectModel public string RuntimeConfigJson => _paths.RuntimeFiles.RuntimeConfigJson; public string PackagesDirectory => _projectContext.PackagesDirectory; public string PackageLockFile => Path.Combine(Path.GetDirectoryName(ProjectFullPath), "project.lock.json"); - + public string AssemblyName => string.IsNullOrEmpty(AssemblyFullPath) + ? ProjectName + : Path.GetFileNameWithoutExtension(AssemblyFullPath); public string AssemblyFullPath => !IsClassLibrary && (_projectContext.IsPortable || TargetFramework.IsDesktop()) ? _paths.RuntimeFiles.Executable diff --git a/src/Microsoft.Extensions.ProjectModel.MsBuild.Sources/MsBuildProjectContext.cs b/src/Microsoft.Extensions.ProjectModel.MsBuild.Sources/MsBuildProjectContext.cs index dc2369065e..8e46ac8beb 100644 --- a/src/Microsoft.Extensions.ProjectModel.MsBuild.Sources/MsBuildProjectContext.cs +++ b/src/Microsoft.Extensions.ProjectModel.MsBuild.Sources/MsBuildProjectContext.cs @@ -73,6 +73,9 @@ namespace Microsoft.Extensions.ProjectModel return Path.Combine(restoreOutputPath, "project.assets.json"); } } + public string AssemblyName => string.IsNullOrEmpty(AssemblyFullPath) + ? ProjectName + : Path.GetFileNameWithoutExtension(AssemblyFullPath); public string AssemblyFullPath => FindProperty("TargetPath"); public string Platform => FindProperty("Platform"); public string ProjectFullPath => Project.FullPath;