/linkresource (C# 編譯器選項)
在輸出檔中建立 .NET Framework 資源的連結。資源檔不會加入到輸出檔中。這點與 /resource 選項不同,該選項會將資源檔內嵌到輸出檔中。
/linkresource:filename[,identifier[,accessibility-modifier]]
引數
filename
您想要從該組件連結的 .NET Framework 資源檔。identifier (選擇項)
資源的邏輯名稱,也就是用來載入資源的名稱。預設值是檔案的名稱。accessibility-modifier (選擇項)
資源的存取範圍︰public 或 private。預設值為 public。
備註
根據預設,當使用 C# 編譯器建立連結資源時,組件中的連結資源會是公用的。若要將資源設為私用的,請指定 private 做為存取範圍修飾詞。不能使用 public 或 private 以外的其他修飾詞。
/linkresource 需要 /target 選項其中之一,而非 /target:module。
如果 filename 是由 Resgen.exe 或在開發環境中所建立的 .NET Framework 資源檔,則可以使用 System.Resources 命名空間內的成員來存取。如需詳細資訊,請參閱 System.Resources.ResourceManager。至於其他所有資源,請使用 Assembly 類別中的 GetManifestResource* 方法在執行階段存取資源。
在 filename 中指定的檔案可為任意格式。例如,您可能希望讓原生 DLL 成為組件的一部分,以便將它安裝到全域組件快取,並經由組件中的 Managed 程式碼存取。下列第二個範例示範其做法。您可以在組件連結器中執行相同的操作。下列第三個範例示範其做法。如需詳細資訊,請參閱 Al.exe (組件連結器)和 使用組件和全域組件快取。
/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