Я работаю над расширением Visual Studio 2010 и хочу добавить атрибут к элементу MSBuild следующим образом:
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%(Filename)%(Extension)</FooAttribute>
</EmbeddedResource>
Итак, пока единственный способ, который я нашел, это использование метода IVsBuildPropertyStorage.SetItemAttribute
. Это хорошо работает для простых строк, но когда я пытаюсь использовать символы, особенные для MSBuild, я получаю такой результат:
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%29%25%28Filename%29%25%28Extension%29</FooAttribute>
</EmbeddedResource>
Это означает, что SetItemAttribute
автоматически экранируется от символов MsBuild, и я не хочу этого.