dotnet-installer/src/Microsoft.DotNet.ProjectModel/RuntimeOutputFiles.cs
2016-02-09 08:52:59 -08:00

66 lines
No EOL
1.7 KiB
C#

// Copyright (c) .NET Foundation and contributors. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System.Collections.Generic;
using System.IO;
using NuGet.Frameworks;
namespace Microsoft.DotNet.ProjectModel
{
public class RuntimeOutputFiles : CompilationOutputFiles
{
public RuntimeOutputFiles(string basePath,
Project project,
string configuration,
NuGetFramework framework) : base(basePath, project, configuration, framework)
{
}
public string Executable
{
get
{
var extension = FileNameSuffixes.CurrentPlatform.Exe;
// This is the check for mono, if we're not on windows and producing outputs for
// the desktop framework then it's an exe
if (Framework.IsDesktop())
{
extension = FileNameSuffixes.DotNet.Exe;
}
return Path.Combine(BasePath, Project.Name + extension);
}
}
public string Deps
{
get
{
return Path.ChangeExtension(Assembly, FileNameSuffixes.Deps);
}
}
public string Config
{
get { return Assembly + ".config"; }
}
public override IEnumerable<string> All()
{
foreach (var file in base.All())
{
yield return file;
}
if (File.Exists(Config))
{
yield return Config;
}
if (File.Exists(Deps))
{
yield return Deps;
}
}
}
}