如何在我的 C# 应用程序中嵌入特定于配置的清单文件?

发布于 2024-11-25 22:23:01 字数 365 浏览 0 评论 0原文

我想在我的 C# 应用程序中嵌入特定于平台的清单文件。有没有一种简单的方法可以在 Visual Studio 2008 中执行此操作,而无需使用构建完成后调用的某些外部脚本?

在创建 C# 应用程序时,“应用程序”选项卡的配置和平台下拉列表被禁用,从而阻止我选择要嵌入到该应用程序的体系结构或配置特定清单。我被迫为整个应用程序使用一个清单。

我想使用构建后事件来调用一个小脚本来嵌入基于 $(Configuration) 宏变量的正确清单,并且它有效,但我想在不调用其他一些脚本的情况下执行此操作脚本,我想知道是否可以在不使用构建事件的情况下完成。

我可以将 x86 和 x64 程序集引用嵌入到同一个清单文件中,并且运行时只会加载正确的吗?

I'd like to embed a platform-specific manifest file in my C# app. Is there an easy way to do this in Visual Studio 2008 without using some external script called after the build is finished?

In creating a C# app, the configuration and platform dropdowns are disabled for the Application tab, preventing me from selecting an architecture or configuration specific manifest to embed to that app. I'm forced to use one manifest for the whole application.

I thought of using a Post Build event to call a little script to embed the right manifest based on the $(Configuration) macro variable, and it works, but I want to do this without calling into some other script and I want to know if it's possible to do without using Build Events.

Can I embed the x86 and x64 assembly references in the same manifest file and the run time will just load the correct one?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

勿忘初心 2024-12-02 22:23:01

您只需添加 app.manifest 文件即可。右键单击项目,选择“添加”-> “新项目……”。选择左侧树视图中“Visual C# Items”下的“General”条目。从“模板”列表中,找到并选择名为“应用程序清单文件”的项目。单击添加。

现在您有了清单,现在让我们将其设为特定于平台的。右键单击该项目并选择“卸载项目”。再次右键单击并选择“编辑{项目名称}.csproj”。

找到第一个配置部分,最后您应该找到...

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

您需要将 ApplicationManifest 元素移动到平台配置的相应配置部分。您甚至可能需要向 xml 添加一个部分,就像我在这里为 AnyCPU 所做的那样:

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

完成后,保存文件,右键单击项目,然后选择“重新加载项目”。

You simply need to add the app.manifest file. Right-click the project, select "Add" -> "New Item...". Select the "General" entry on the left tree view under "Visual C# Items". From the "Templates" list, locate and select the item call "Application Manifest File". Click Add.

Now you have a manifest, now let's make it platform specific. Right-click the project and select "Unload Project". Right-click again and select "Edit {project name}.csproj".

Locate the first configuration section, at the end you should find...

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

You need to move the ApplicationManifest element into the appropriate configuration section for the platform configuration. You may even need to add a section to the xml as I did here for AnyCPU:

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

When your finished, save the file, right-click the project, and select "Reload Project".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文