Dot-Net
Visual Studio 資源生成 - 自定義工具命名空間
我有一個 C# 類庫,其中包含在文件夾中組織的多個資源文件。因為我希望生成的類都在同一個命名空間中,所以我設置了每個資源文件的 CustomToolNamespace 屬性。
然而,我通過 Reflector 發現,雖然這些類都是在同一個命名空間中生成的,但嵌入資源的路徑包含放置資源文件的目錄名稱。
例如,在將FolderCustomNamespaceRes.resx放置在名為Folder的目錄中的項目中。
刪除了無效的 ImageShack 連結
而在FolderCustomNamespaceRes.resx的 CustomToolNamespace 設置為 PublicResourcesTest 的情況下,Reflector 顯示嵌入資源程序集的路徑是 PublicResourcesTest。文件夾.FolderCustomNamespaceRes.resources
刪除了無效的 ImageShack 連結
這是一個錯誤還是我錯過了什麼?
經過一番搜尋,我發現嵌入資源的清單名稱可以通過在
.cspproj文件中添加元數據來控制。在你有類似的東西之前:
<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> <Generator>PublicResXFileCodeGenerator</Generator> <LastGenOutput>FolderCustomNamespaceRes.Designer.cs</LastGenOutput> <CustomToolNamespace>PublicResourcesTest</CustomToolNamespace> </EmbeddedResource>要控制清單名稱,您必須添加:
<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> .... <LogicalName>$(RootNamespace).FolderCustomNamespaceRes.resources</LogicalName> </EmbeddedResource>