Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VS/C“相当于Java/Eclipse”;资源文件夹";?_C#_Visual Studio_.net Core_.net Assembly_Embedded Resource - Fatal编程技术网

C# VS/C“相当于Java/Eclipse”;资源文件夹";?

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

在EclipseIDE中使用Java时,可以使用“Libraries”选项卡中的“AddClassFolder”选项将文件夹添加到“BuildPath”中,该选项允许在应用程序的jar文件中编译该文件夹中的资源,而不是在应用程序的jar文件外编译或根本不编译

这样,就可以通过
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)。这是一种不同的方法,但您可以存储任何类型的数据。看看这个