C# VS/C“相当于Java/Eclipse”;资源文件夹";?
在EclipseIDE中使用Java时,可以使用“Libraries”选项卡中的“AddClassFolder”选项将文件夹添加到“BuildPath”中,该选项允许在应用程序的jar文件中编译该文件夹中的资源,而不是在应用程序的jar文件外编译或根本不编译 这样,就可以通过C# VS/C“相当于Java/Eclipse”;资源文件夹";?,c#,visual-studio,.net-core,.net-assembly,embedded-resource,C#,Visual Studio,.net Core,.net Assembly,Embedded Resource,在EclipseIDE中使用Java时,可以使用“Libraries”选项卡中的“AddClassFolder”选项将文件夹添加到“BuildPath”中,该选项允许在应用程序的jar文件中编译该文件夹中的资源,而不是在应用程序的jar文件外编译或根本不编译 这样,就可以通过Class.getResource(String name)方法以URL的形式获取文件夹中的资源。我已经被告知C#的等价物:Assembly.GetManifestResourceStream(字符串名称)或Assembl
Class.getResource(String name)
方法以URL的形式获取文件夹中的资源。我已经被告知C#的等价物:Assembly.GetManifestResourceStream(字符串名称)
或Assembly.GetManifestResourceInfo(字符串资源名称)
方法,但我不知道Visual Studio中C#的“构建路径”等价物(如果您想知道的话,我正在使用2019)有人能解释一下我如何在C#中完成Java的构建路径资源文件夹吗?
(请注意,我希望创建一个资源文件夹,其中文件夹中的任何内容都将被视为应用程序资源。我不想单独添加一个或多个资源文件。)
如有任何回复,将不胜感激!:)您只需创建一个文件夹,并将其命名为您喜欢的名称,例如“资源”。添加您希望应用程序将其视为资源的任何文件
然后导航到每个资源文件的属性(您可以按F4键),在菜单中,您可以选择希望编译器对该文件执行的操作(如果我记得很清楚,编译操作是选项名)。在这里,您可以选择作为资源的类型、名称空间(您的构建路径)以及是否希望在每次编译应用程序时复制该文件等等。经过一番研究,我找到了解决此问题的方法。事实上,这个问题有两种可能的解决办法
.NET核心解决方案 第一个是编辑C#项目的
.csproj
文件。此解决方案仅在.Net Core中可用
您可以将此代码段添加到文件中,并将{PATH\u to\u resource\u FOLDER\u HERE}
文件夹更改为所需文件夹
<ItemGroup>
<EmbeddedResource Include="{PATH_TO_RESOUCE_FOLDER_HERE}\**" />
</ItemGroup>
现在,放置在该文件夹中的任何项目都将被视为嵌入式资源Assembly.GetManifestResourceStream(字符串名称)
方法
常规.NET解决方案 第二种方法涉及使用
.resx
文件封装所有资源
在Visual Studio 2019中,您可以通过右键单击项目中要将文件添加到的位置并导航到add>New Item
(也可以按Ctrl+Shift+a
)来创建.resx
文件。现在,您可以导航到引用“资源文件”的项目并选择它。您现在可以使用此GUI插入资源(有关更深入的解释,请单击或链接。有关用例,请参阅此)
请注意,此解决方案也适用于.NETCore
我希望这个答案对你和我都有帮助!:)谢谢您的回答。我一直在寻找一种方法来避免这种情况,因为我的资源文件夹可能有很多文件,更改每个文件的“编译操作”会有点乏味,这就是为什么我想要一个资源文件夹而不是很多资源文件,但我可以将此作为我的最后手段。再次感谢!:)好吧。。。然后可以使用资源文件(.resx)。这是一种不同的方法,但您可以存储任何类型的数据。看看这个