Как избежать кавычек в Exec Command в MSBuild - PullRequest
121 голосов
/ 10 марта 2010

Я пытаюсь создать сценарий MSBuild, который сопоставляет сетевой диск с буквой диска в сценарии, но, к сожалению, путь к целевой папке включает встроенное пространство. Встроенное пространство приводит к сбою отображения, и я не знаю, возможно ли избежать кавычек по всему пути. Я пробовал двойные кавычки, но MSBuild это не нравится (или это или Windows XP не нравится). Кто-нибудь знает, как закодировать этого зверя, чтобы карта работала?

<Exec Command="net use x: \\ofmapoly703\c$\program files\ar\iap /user:$(UserID) $(Password)"
WorkingDirectory="c:\"
ContinueOnError="false"
/>

Встроенное пространство, конечно, находится в «программных файлах».

Ответы [ 2 ]

179 голосов
/ 10 марта 2010

Используйте &quot; для кодирования двойных кавычек, которые вы хотите net видеть внутри значения атрибута Command:

<Exec Command="net use x: &quot;\\ofmapoly703\c$\program files\ar\iap&quot; /user:$(UserID) $(Password)" 
WorkingDirectory="c:\" 
ContinueOnError="false" 
/> 
74 голосов
/ 30 июня 2011

Вы можете использовать одинарные кавычки для команды, например.

  <Exec Command='explorer.exe "$(DestinationDir)"' IgnoreExitCode="true" />

(из MSBuild exec task без блокировки )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...