将xml转换应用于app.manifest

时间:2016-12-08 18:06:15

标签: c# manifest transformation

我刚刚继承了一个c#应用程序。它目前在其app.manifest中有一个条目来启用UAC

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

每当我在visual studio中进行调试时,我都会收到提示#34;此任务要求应用程序具有提升的权限&#34;。 (我有一个管理员帐户,但在开发时我没有登录。)

有没有办法对它应用xml转换(比如在web.configs上)或者为发布模式制作app.manifest?

1 个答案:

答案 0 :(得分:1)

使用SlowCheetah NuGet包和附带的扩展,您将在所有xml文件上获得与web.config相同的行为。

确保安装/激活NuGet包以及Visual Studio扩展。此外,NuGet中有许多Slow Cheetah版本 - 我建议使用微软发布的最新版本 - Microsoft.VisualStudio.SlowCheetah。

详细了解:https://github.com/Microsoft/slow-cheetah

编辑:我实际上为了我的sharepoint加载项项目而在App.Manifest.xml上实现了转换。当您使用&#34;添加转换&#34;时,会显示为您创建的文件。缺少一些细节,如果不包括将导致转换失败(没有结果)。这就是我的结论:

<!--    Mandatory block in AppManifest transform files: -->

<App xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"  
     Name="Not transformed"
     ProductID="{12345678-0000-0000-0000-123456789123}"
     Version="0.0.0.0"
     SharePointMinVersion="0.0.0.0"
>
  <Properties>
    <Title>Not transformed</Title>   
    <StartPage>Not transformed</StartPage>
  </Properties>

  <AppPrincipal>
    <RemoteWebApplication ClientId="*" />  
  </AppPrincipal>
</App>
<!--
This block as it is written will cause no transformation whatsoever, but all elements above must be present for any transformation to be applied.
To transform an entire element along with its text content, add the attribute  xdt:Transform="Replace" to the element. This will also replace all 
child elements.
-->

希望这有帮助!