🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# /linkresource (C# Compiler Options) 在输出文件中创建指向 .NET Framework 资源的链接。该资源文件未添加到输出文件中。这与 [/resource](https://msdn.microsoft.com/zh-cn/library/c0tyye07.aspx) 选项不同,后者会将资源文件嵌入到输出文件中。 ## 语法 ``` /linkresource:filename[,identifier[,accessibility-modifier]] ``` ## 参数 _filename_ 要从程序集链接的 .NET Framework 资源文件。 _identifier_(可选) 资源的逻辑名称;用于加载资源的名称。默认为文件的名称。 _accessibility-modifier_(可选) 资源的可访问性:公共或私有。默认为公共。 ## 备注 默认情况下,如果链接的资源是用 C# 编译器创建的,则链接资源在程序集中就是公共的。若要使这些资源成为私有的,请将 **private** 指定为可访问性修饰符。不允许使用 **public** 或 **private** 以外的其他修饰符。 **/linkresource** 需要除 **/target:module** 选项之外的 [/target](https://msdn.microsoft.com/zh-cn/library/6h25dztx.aspx) 选项之一。 如果 _filename_ 是由例如 [Resgen.exe](https://msdn.microsoft.com/zh-cn/library/ccec7sz1.aspx) 创建或在开发环境中创建的 .NET Framework 资源文件,则可以通过 [System.Resources](https://msdn.microsoft.com/zh-cn/library/system.resources.aspx) 命名空间中的成员访问该文件。有关更多信息,请参见 [System.Resources.ResourceManager](https://msdn.microsoft.com/zh-cn/library/system.resources.resourcemanager.aspx)。对于所有其他资源,请使用 [Assembly](https://msdn.microsoft.com/zh-cn/library/system.reflection.assembly.aspx) 类中的 **GetManifestResource*** 方法在运行时访问资源。 在 _filename_ 中指定的文件可以为任何格式。例如,您可能想将本机 DLL 设置为程序集的一部分,以便可将其安装到全局程序集缓存中,并且可从程序集中的托管代码访问它。下面的第二个示例演示如何执行此操作。您可以在程序集链接器中执行相同的操作。下面的第三个示例演示如何执行此操作。有关更多信息,请参见[Al.exe(程序集链接器)](https://msdn.microsoft.com/zh-cn/library/c405shex.aspx)和 [使用程序集和全局程序集缓存](https://msdn.microsoft.com/zh-cn/library/6axd4fx6.aspx)。 **/linkres** 是 **/linkresource** 的缩写形式。 此编译器选项在 Visual Studio 中不可用,且不能通过编程方式进行更改。 编译 in.cs 并链接到资源文件 rf.resource: ``` csc /linkresource:rf.resource in.cs ``` 将 A.cs 编译为 DLL,链接到本机 DLL N.dll,并将输出放置在全局程序集缓存 (GAC) 中。在此示例中,A.dll 和 N.dll 都驻留在 GAC 中。 ``` csc /linkresource:N.dll /t:library A.cs gacutil -i A.dll ``` 此示例和前一个示例执行的是同样的操作,但使用的是程序集链接器选项。 ``` csc /t:module A.cs al /out:A.dll A.netmodule /link:N.dll gacutil -i A.dll ``` ## 请参阅 [C# Compiler Options](https://msdn.microsoft.com/zh-cn/library/2fdbz5xd.aspx) [Al.exe(程序集链接器)](https://msdn.microsoft.com/zh-cn/library/c405shex.aspx) [使用程序集和全局程序集缓存](https://msdn.microsoft.com/zh-cn/library/6axd4fx6.aspx) [如何:修改项目属性和配置设置](https://msdn.microsoft.com/zh-cn/library/z15yzzew.aspx)