复制粘贴时将app.manifest xml标记标记为错误

时间:2019-11-05 09:26:20

标签: c# rider

我将Rider用作创建C#项目的IDE。不幸的是,它没有创建app.manifest文件的选项。为此,我跳到Visual Studio,然后将其复制到Rider。

当我这样做时,我的app.manifest文件包含很多错误:

enter image description here

所有红色xml标记均被标记为错误

  • 程序集 =>必须声明元素程序集
  • assemblyIdentity =>无法解析AssemblyIdentity
  • trustInfo => uri未注册

此外,当我尝试使用streamWriter访问文件时,即使我在app.manifest中请求了管理员权限,也遇到了Unhandled exception. System.UnauthorizedAccessException: Access to the path 'C:\xampp' is denied.错误(虽然我从未得到UAC弹出窗口)。

这是怎么回事?为什么我的app.manifest文件是伪造的?是否有一种简单的方法可以在Rider中创建app.manifest,而又不涉及复制粘贴app.manifest?

1 个答案:

答案 0 :(得分:1)

在Visual Studio中,清单文件还具有“ Application Manifest”作为“ Application Manifest”的编译器生成操作,它指示在编译时需要正确地嵌入它。

我认为在您的配置中,可能需要告知Rider如何做到这一点。否则,它将像对待其他文件一样对待它,并且不能正确地将其嵌入到您构建的exe文件中。

在VS中创建一个项目,并添加一个清单文件。

请参阅csproj文件中的相应参考。您需要使Rs中的csproj相同。 (我从不习惯Rider,所以不确定是否有UI。)

对于.NET Core

 <PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<ApplicationManifest>app1.manifest</ApplicationManifest>
</PropertyGroup>

.NET Framework

<PropertyGroup>
 <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>