Acabo de heredar una aplicación de C #. Actualmente tiene una entrada en su app.manifest para habilitar UAC

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

Cada vez que hago una compilación de depuración dentro de Visual Studio, aparece el mensaje "Esta tarea requiere que la aplicación tenga permisos elevados". (Tengo una cuenta de administrador pero no inicio sesión con ella durante el desarrollo).

¿Hay alguna forma de aplicarle una transformación xml (como en web.configs) o hacer un app.manifest para el modo de lanzamiento?

1
Lareau 8 dic. 2016 a las 21:06

1 respuesta

La mejor respuesta

Al usar el paquete SlowCheetah NuGet y la extensión que lo acompaña, obtendrá el mismo comportamiento en todos los archivos xml que para web.config.

Asegúrese de instalar / activar el paquete NuGet y la extensión de Visual Studio. Además, hay varias versiones de Slow Cheetah en NuGet; sugeriría usar la última versión lanzada por Microsoft: Microsoft.VisualStudio.SlowCheetah.

Lea más sobre esto: https://github.com/Microsoft/slow-cheetah

Editar: tuve una larga lucha para que la transformación funcionara para App.Manifest.xml para mi proyecto de complemento de sharepoint. Resulta que los archivos creados para usted cuando usa "Agregar transformación" carecen de algunos detalles que, si no se incluyen, harán que la transformación falle (no dará ningún resultado). Esto es lo que concluí:

<!--    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.
-->

¡Espero que esto sea de ayuda!

1
Carolina Persson 30 may. 2017 a las 11:51
Eso se aplica al archivo app.config, pero ¿también funcionará para el archivo app.Manifest?
 – 
Lareau
23 may. 2017 a las 15:45
Sí, lo hace, pero requiere un poco de esfuerzo. ¡Acabo de agregar un ejemplo aclaratorio que podría ser útil!
 – 
Carolina Persson
30 may. 2017 a las 11:52