【问题标题】:app.manifest xml tags marked as erroneous when copy pasted复制粘贴时标记为错误的 app.manifest xml 标记
【发布时间】:2019-11-05 09:26:20
【问题描述】:

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

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

所有红色的xml标签都标记为错误

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

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

这里发生了什么?为什么我的 app.manifest 文件是伪造的?有没有一种在 Rider 中创建 app.manifest 的简单方法,而不涉及复制粘贴 app.manifest?

【问题讨论】:

    标签: c# rider


    【解决方案1】:

    在 Visual Studio 中,清单文件还具有编译器构建操作作为“应用程序清单”,它告诉它需要在编译时正确嵌入。

    我认为在您的配置中可能需要告诉 Rider 如何执行此操作。否则它会将其视为任何其他文件,并且不会将其正确嵌入到您构建的 exe 中。

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

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

    对于 .NET Core

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

    对于 .NET 框架

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多