如何仅在发布版本上请求管理员权限?
How to request administrator permissons only on release builds?
描述:我希望我的应用程序仅在使用我的发布配置编译时请求管理员权限。主要是因为我在debugging/developingapp的时候不需要管理员权限,但是交付的时候需要管理员权限
目前我只使用app.manifest文件来请求管理员权限,代码如下:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
现在回答我的问题: 我必须在项目文件 (name.csproj) 的哪个位置包含 app.manifest 文件以便仅在我使用“发布”配置时嵌入它?
我使用以下代码将 app.manifest 文件包含在项目文件中:
<ApplicationManifest>app.manifest</ApplicationManifest>
再次查看我的项目文件后,我想出了将它放在哪里。
答:在工程文件里面下面的PropertyGroup(name.csproj), 表示"Release" build,
您必须将以下代码包含在 app.manifest 文件中:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
...
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
这只允许在 “发布” 版本上请求管理员权限。
它也可以添加到其他构建配置中。
描述:我希望我的应用程序仅在使用我的发布配置编译时请求管理员权限。主要是因为我在debugging/developingapp的时候不需要管理员权限,但是交付的时候需要管理员权限
目前我只使用app.manifest文件来请求管理员权限,代码如下:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
现在回答我的问题: 我必须在项目文件 (name.csproj) 的哪个位置包含 app.manifest 文件以便仅在我使用“发布”配置时嵌入它?
我使用以下代码将 app.manifest 文件包含在项目文件中:
<ApplicationManifest>app.manifest</ApplicationManifest>
再次查看我的项目文件后,我想出了将它放在哪里。
答:在工程文件里面下面的PropertyGroup(name.csproj), 表示"Release" build,
您必须将以下代码包含在 app.manifest 文件中:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
...
<ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
这只允许在 “发布” 版本上请求管理员权限。 它也可以添加到其他构建配置中。