estoy trabajando en un proyecto de Visual Studio 2010 y la extensión Quiero añadir un atributo a un elemento de MSBuild, de la siguiente manera:¿Cómo evito que IVsBuildPropertyStorage.SetItemAttribute escape caracteres especiales?
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%(Filename)%(Extension)</FooAttribute>
</EmbeddedResource>
Así que, ahora, la única manera que encontré es utilizando el método IVsBuildPropertyStorage.SetItemAttribute
. Esto funciona bien para las cadenas simples, pero cuando intento utilizar caracteres que son especiales para MSBuild, me sale el siguiente resultado:
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%29%25%28Filename%29%25%28Extension%29</FooAttribute>
</EmbeddedResource>
Esto significa que SetItemAttribute
escapa automáticamente de caracteres MSBUILD y no quiero eso.
¿Estás seguro de que MSBuild no aceptará las formas escapado de esos personajes? –
Acepta formulario de escape para esos caracteres ... PERO no quiero escapar, quiero "% (Filename)% (Extension)" en mi archivo de proyecto. Si dejo que "% 29% 25% 28Filename% 29% 25% 28Extension% 29" msbuild tomará esto como una constante de cadena. –