[英]How to reference/use Resource Dictionary between multiple projects inside solution
[英]How to use shared resource file between projects in one solution?
我的資源文件有問題。
我有兩個項目的解決方案。 第一個項目包含ImageResource.resx
文件,其中包含我使用的圖像。 此項目中的每個Form
都可以從設計器訪問此文件。 但我可以在設計器ImageResource.resx
文件中看到從第二個項目中使用它( 引用第二個項目 )。
我已將ImageResource.resx
文件添加為第二個項目的鏈接。 我在設計師看到了它! 但是當我在第二個項目中使用來自此資源的圖像時,Visual Studio修改了我的原始文件(它設置名稱空間,以及其他...) ,我的解決方案中斷了。 Visual Studio還告訴我, ImageResource.resx
存在於兩個dll的first_project.dll
和second_project.dll
任何人都可以幫助我如何在項目之間正確使用共享資源?
下一步包括將此圖標添加到其他項目。 注意重要的區別,你需要添加這個圖標作為鏈接 !
添加為鏈接可避免資源重復。 在同一解決方案中創建一個新項目,並將其命名為Main 。 在這個新項目中創建一個文件夾,命名為Resources (我們的邏輯名稱)。 然后右鍵單擊此文件夾,選擇Add Existing Item ...並從共享項目文件夾中選擇圖像文件。 請務必在此處使用添加鏈接 ! 如果正確完成,新添加文件的圖標將略有不同(見下文):
添加的資源圖標必須如下所示
這些是在項目之間共享圖標必須執行的五個簡單步驟。 你可能會問“這有什么好處?” 好處是:
這對我不起作用,我找到了另一種(VS2015 +)方法。 請參閱https://stackoverflow.com/a/45471284/4151626
簡而言之,共享項目直接包含在外圍項目中。 因此,即使IDE不支持共享項目中的<Resource>
元素。 可以通過文本編輯器將<Resource>
元素添加到共享項目中。 然后在構建期間將它們合並到外圍項目中。
您可以使用符號鏈接將文件共享到多個文件夾中嗎?
視窗:
mklink linked_location\ImageResource.resx original_location\ImageResource.resx
C:\Users\preet>mklink
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
如果資源文件確實在項目之間共享,則應將其放在共享項目中。
Solution 'Sample'
Project Sample.Data
Project Sample.Business
Project Sample.UI
Project Sample.Resource //shared resources are put in a shared project
如果資源不公開 ,則無法查看該資源,並且默認設置為“朋友”。 您可以在可視設計器(右上角)中設置“訪問修改器”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.