VS 2010 построен на 32-битной и 64-битной (программные файлы) - PullRequest
2 голосов
/ 31 января 2011

У меня событие VS 2010 Post Build Event, которое запускается GacUtil.exe.

На моем 32-битном ноутбуке я имею в виду:

"C:\Program Files \Microsoft SDKs\Windows\v7.0A\bin\gacutil.exe" -i "$(TargetPath)". 

На моем 64-битном сервере dev он должен быть

"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\gacutil.exe" -i "$(TargetPath)". 

Но я хочу проверить проект, который работает в обеих системах.

Кто-нибудь выяснил, как сделать событие после сборки, которое не зависит от архитектуры?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011

Я вызываю это на этапе пост-сборки: sgen .

Обновление Visual Studio 2013:

Эта команда работает как на 32-, так и на 64-битных компьютерах:

"$(SDK40ToolsPath)$(SGenSubFolder)sgen.exe" /nologo /force /assembly:"$(TargetPath)" /compiler:/platform:$(Platform) /type:"[NameOfTheType]"

Свойство $(SGenSubfolder) определяется как

<PropertyGroup Condition=" '$(Platform)' == 'x64' ">
  <SGenSubFolder>x64\</SGenSubFolder>
</PropertyGroup>

Какой беспорядок ...

0 голосов
/ 31 января 2011
for /f "tokens=2,*" %a in ('reg query "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v7.0a" /v InstallationFolder ^| findstr InstallationFolder') do "%b\bin\Gacutil.exe" -i "$(TargetPath)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...