Расположение EDITBIN в агентах, размещенных на сервере Microsoft

Как найти расположение EDITBIN на агент, размещенный в Microsoft? Я пытаюсь использовать его, чтобы установить SWAPRUN для выходные DLL проекта C #.

Для локальной сборки я использую $(DevEnvDir)\..\..\VC\Tools\MSVC\14.14.26428\bin\Hostx86\x86\editbin. Однако в агенте, размещенном на сервере Microsoft, DevEnvDir не определен, и я не знаю, подойдет ли остальная часть пути?

Связанный с этим бонусный вопрос: где я могу найти общую файловую структуру для агента, размещенного на сервере Microsoft?


person Edward Brey    schedule 10.07.2018    source источник


Ответы (2)


editbin.exe существует в размещенном агенте VS2017 в:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\SDK\ScopeCppSDK\VC\bin\editbin.exe

А чтобы получить структуру папок, вы можете использовать сценарий PowerShell, например:

cd "C:\Program Files (x86)\Microsoft Visual Studio\2017"
Get-childItem | tree

И если вы хотите проверить структуру корневого каталога, такого как C:\, это займет много времени.

person Marina Liu    schedule 11.07.2018

По причинам, связанным с автоматизацией, можно автоматически выбрать правильный вариант editbin. Я придумал следующий сценарий PS:

# define search parameters
$hostsys = "\hostx64"
$target = "\x86"
$basepath = "C:\Program Files (x86)\Microsoft Visual Studio\2019\"

# determine paths to the editbin executable and select the preferred one
$findings = Get-childItem -Path $basepath -Recurse -Include "editbin.exe"
$editbinexe = ""

Write-Host "`nEditbin candidates:"
foreach ($item in $findings) {
    [string]$directory = $item.DirectoryName.ToLower()
    Write-Host "$directory"
    
    if ($directory.Contains($hostsys) -and $directory.Contains($target))
    {
        $editbinexe = $item.FullName
    }
}

if ([string]::IsNullOrEmpty($editbinexe))
{
    Write-Host "`nEditbin was not found`n"
    exit -120
}

# execute the found executable

Write-Host "`nUsing editbin ""$editbinexe""`n"
Set-Location .\<the path to executable>
& $editbinexe /LARGEADDRESSAWARE "<the executable>"
person tobster    schedule 21.06.2021