Ich arbeite an einem Visual Studio 2010-Erweiterung, und ich möchte ein Attribut zu einem MSBuild Artikel hinzuzufügen, wie folgt:Wie verhindere ich, dass IVsBuildPropertyStorage.SetItemAttribute Sonderzeichen löscht?
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%(Filename)%(Extension)</FooAttribute>
</EmbeddedResource>
So weit der einzige Weg, ich ist die Methode IVsBuildPropertyStorage.SetItemAttribute
Verwendung gefunden. Dies funktioniert für einfache Strings in Ordnung, aber wenn ich versuche, Zeichen zu verwenden, die zu MSBuild speziell sind, ich dieses Ergebnis:
<EmbeddedResource Include="SomeFile.xml">
<FooAttribute>%29%25%28Filename%29%25%28Extension%29</FooAttribute>
</EmbeddedResource>
Das bedeutet, dass SetItemAttribute
automatisch aus MsBuild Zeichen entkommt, und ich will nicht, dass.
Sind Sie sicher, dass MSBuild nicht die entkam Formen dieser Zeichen akzeptieren? –
Es akzeptieren maskierte Form für diese Zeichen ... ABER ich will nicht entkommen Ich will "% (Dateiname)% (Erweiterung)" in meiner Projektdatei. Wenn ich "% 29% 25% 28Filename% 29% 25% 28Extension% 29" lassen möchte, nimmt msbuild dies als String-Konstante. –