1

我正在尝试开发一个实用程序,该实用程序将允许在我们的产品部署后自定义字符串。卫星组件似乎是一个很好的方法。我在使用Microsoft.VisualBasic.VBCodeProviderMicrosoft.CSharp.CSharpCodeProvider作为可以在运行时编译和加载代码的过程的一部分方面拥有丰富的经验。但是,附属程序集似乎并不涉及完整的编译过程。当我在网上浏览有关构建附属程序集的信息时,您似乎需要跳过代码编译步骤,只需使用链接步骤 ( AL.exe) 将编译.resources文件链接到附属 DLL。

我已经.resources使用 生成已编译的文件System.Resources.ResourceWriter,但我现在正在寻找一种优雅的方式来调用AL.exe将从中创建 DLL 的功能。当然,我可以简单地调用System.Diagnostics.Process.Starton AL.EXE,但这似乎不太优雅,因为 .NET 框架具有用于构建.resources文件和编译 VB.NET 和 C# 源代码的内置类。

至少我需要一种获得适当AL.EXE可执行文件的路径的好方法,但最好只有一个可以完成链接的 .NET 类。

4

1 回答 1

1

我建议您将其保留为.resources文件,如本文所述

Dim resourceMgr = ResourceManager.CreateFileBasedResourceManager(resourceName, resourcePath, Nothing)

由于 MSDN 指出这会锁定文件,从而阻止更新 ASP.NET 站点,因此您可能还希望在创建资源管理器之前制作资源目录的副本。根据您计划更新它们的方式和时间,您可能还希望将这些资源文件保存在 App_Data 文件夹下。

于 2014-04-03T17:22:53.327 回答