Как MSBuild находит путь поиска Delphi?

Лучшим способом я нашел, должен использовать функцию VB FileSystem.DeleteFile.

Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(file.FullName,
    Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,
    Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin);

Это требует добавления Microsoft.VisualBasic как ссылка, но это - часть платформы.NET и так не является дополнительной зависимостью.

Альтернативные решения требуют P/Invoke к SHFileOperation, а также определяющий все различные структуры/константы. Включая Microsoft.VisualBasic намного более опрятно для сравнения.

10
задан mjn 30 November 2009 в 17:11
поделиться

2 ответа

Если вы изучите файл проекта, вы заметите, что он включает CodeGear.Delphi.Targets, который включает CodeGear.Common.Targets, который, в свою очередь, включает EnvOptions.proj. Среда IDE обновляет EnvOptions.proj, чтобы содержать пути из реестра.

17
ответ дан 3 December 2019 в 20:42
поделиться

У вас есть подошли к включениям проекта? Вы должны уметь предугадывать, где он рассчитывается (т.е. какая задача), и использовать Reflector для обратного проектирования. Помните, MSBuild - это просто [очень дурацкий] текст.

Или вы можете включить подробное ведение журнала и выяснить, какая задача вычисляет его таким образом.

Или вы можете использовать procmon для отслеживания того, какие ключи реестра проверяются и т. Д.

Или вы можете подождать, пока придет Барри и даст окончательный ответ: P

which Task) и использовать Reflector для его перепроектирования. Помните, MSBuild - это просто [очень дурацкий] текст.

Или вы можете включить подробное ведение журнала и выяснить, какая задача вычисляет его таким образом.

Или вы можете использовать procmon для отслеживания того, какие ключи реестра проверяются и т. Д.

Или вы можете подождать, пока придет Барри и даст окончательный ответ: P

which Task) и использовать Reflector для его перепроектирования. Помните, MSBuild - это просто [очень дурацкий] текст.

Или вы можете включить подробное ведение журнала и узнать, какая задача вычисляет его таким образом.

Или вы можете использовать procmon для отслеживания того, какие ключи regkeys проверяются и т. Д.

Или вы можете подождать, пока придет Барри и даст окончательный ответ: P

1
ответ дан 3 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: