c# - 如何仅在发布版本上请求管理员权限?

标签 c# .net visual-studio

描述:我希望我的应用程序仅在使用我的发布配置进行编译时才请求管理员权限。主要原因是我在调试/开发应用时不需要管理员权限,但交付时需要管理员权限。

目前我只使用app.manifest文件来请求管理员权限,代码如下:

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

现在问我的问题:在我的项目文件 (name.csproj) 中的哪个位置,我必须将 app.manifest 文件包含在为了仅在我使用“发布”配置时嵌入它?

我使用以下代码将 app.manifest 文件包含在项目文件中:

<ApplicationManifest>app.manifest</ApplicationManifest>

最佳答案

再次查看我的项目文件后,我找到了将其放在哪里。

答案:在项目文件 (name.csproj) 的以下PropertyGroup内,它代表“发布” 构建,
您必须输入以下代码才能包含 app.manifest 文件:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    ...
    <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>

这仅允许请求“发布”版本的管理员权限。 它还可以添加到其他构建配置中。

关于c# - 如何仅在发布版本上请求管理员权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72199038/

相关文章:

c# - 如何在 Razor 中修复此 "syntax error"?

.net 解决方案获取与 TFS 中的变更集关联的文件

c# - C# 中的文件 - "file is used by another process"

visual-studio - Nuget软件包管理器更新3.1.1.0已损坏

c++ - 更改代码生成后以代码 255 退出的特定代码行

c# - #Region 内的 Resharper 7 : Sort Method by name,

c# - 监控出站 Web 服务调用

c# - 如何将十六进制转换为 0x... 字节格式 (C#)

c# - L={a^nb^m| n+m=k ,n,m>=0} 在 C# 中使用正则表达式

c# - 从两个独立的项目开始创建一个 "dll"(相同的解决方案)