Я добавляю проект сборки Nuke в свое решение.
Мне нужно создать цель, которая копирует скомпилированные файлы в пользовательскую папку. Вы можете думать об этом как о своего рода развертывании.
Как получить выходную папку конкретного проекта?
Например, если проект называется «MyProject» и находится в папке C:\git\test\MyProject, мне нужно получить путь вывода на основе текущего конфигурация и платформа, например C:\git\test\MyProject\bin\x64\Release.
Я попробовал это, но оно дает мне первое значение свойства OutputPath, а не значение для текущей конфигурации и платформы:
readonly Configuration Configuration = Configuration.Release;
readonly MSBuildTargetPlatform Platform = MSBuildTargetPlatform.x64;
// ...
Target LocalDeploy => _ => _
.DependsOn(Compile)
.Executes(() =>
{
var myProject = Solution.GetProject("MyProject");
var outputPath = myProject.GetProperty("OutputPath"); // this returns bin\Debug
var fullOutputPath = myProject.Directory / outputPath;
CopyDirectoryRecursively(fullOutputPath, @"C:\DeployPath");
});
Я также пробовал этот способ, который учитывает конфигурацию, но не платформу:
var myProject = Solution.GetProject("MyProject");
var myMSBuildProject = visionTools3Project.GetMSBuildProject(Configuration);
var outputPath = myProject.GetProperty("OutputPath"); // this returns bin\Release
var fullOutputPath = myProject.Directory / outputPath;
CopyDirectoryRecursively(fullOutputPath, @"C:\DeployPath");
Подробнее здесь: https://stackoverflow.com/questions/606 ... nuke-build
Как получить OutputPath проекта в сборке Nuke ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Строительство Nuke: не удалось найти подходящий экземпляр MSBuild (Visual Studio 2022)
Anonymous » » в форуме C# - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-