Show/Hide Toolbars

XSharp

 

在输出文件中创建指向 .NET Framework 资源的链接。资源文件不会添加到输出文件中。这与 -resource 选项不同,后者会在输出文件中嵌入资源文件。

语法

-linkresource:filename[,identifier[,accessibility-modifier]]  

参数

filename要从程序集链接到的 .NET Framework 资源文件。
identifier (optional)资源的逻辑名称;用于加载资源的名称。默认为文件名。
accessibility-modifier (可选)        资源的可访问性:公共或私有。默认为公共。

备注

默认情况下,使用 X# 编译器创建的链接资源在程序集中是公共资源。要将资源设为私有,请指定 private 作为可访问性修饰符。除 public 或 private 外,不允许使用其他修饰符。

 

除了 -target:module 之外,-linkresource 还需要一个 -target 选项。

 

如果 filename 是由 Resgen.exe 或在开发环境中创建的 .NET Framework 资源文件,则可以使用 System.Resources 名称空间中的成员访问该文件。更多信息,请参阅 System.Resources.ResourceManager。对于所有其他资源,请使用程序集类中的 GetManifestResource* 方法在运行时访问资源。

 

文件名中指定的文件可以是任何格式。例如,您可能希望将本地 DLL 作为程序集的一部分,以便将其安装到全局程序集缓存中,并从程序集中的托管代码中进行访问。下面第二个示例展示了如何做到这一点。你也可以在程序集链接器中做同样的事情。下面的第三个示例演示了如何做到这一点。更多信息,请参阅 Al.exe(程序集链接器)和使用程序集和全局程序集缓存。

.

-linkres 是 -linkresource 的简称。

 

该编译器选项在 Visual Studio 中不可用,也不能通过编程更改。

示例

 

编译 in.prg,并链接到资源文件 rf.resource:

xsc -linkresource:rf.resource in.prg  

示例

 

将 A.prg 编译成 DLL,链接到本地 DLL N.dll,并将输出结果放入全局程序集缓存 (GAC)。在本例中,A.dll 和 N.dll 都将位于 GAC 中。

xsc -linkresource:N.dll -t:library A.prg
gacutil -i A.dll  

示例

 

此示例与上一示例的操作相同,但使用了汇编链接器选项。

xsc -t:module A.prg  
al -out:A.dll A.netmodule -link:N.dll  
gacutil -i A.dll