Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 在c中获取dll程序集的静态文件#_C#_Asp.net_.net_Dll_Plugins - Fatal编程技术网

C# 在c中获取dll程序集的静态文件#

C# 在c中获取dll程序集的静态文件#,c#,asp.net,.net,dll,plugins,C#,Asp.net,.net,Dll,Plugins,我正在编写一个web应用程序(ASP.NETMVC5withC#),它可以通过插件进行扩展。为此,我编写了一个小SDK,其中包括用户为加载插件而必须实现的所有接口。那很好 要编写插件,客户必须在VisualStudio中创建一个新的类库项目并导入SDK程序集 现在我想允许用户使用插件(目前只是一个dll)打包静态文件。这些静态文件可以是html、css、js、图像等。 这些文件必须位于特定文件夹中才能被我的服务器拾取。至少,这是我计划要做的。所以在插件安装时,我想将插件的特定文件夹中的所有文件复

我正在编写一个web应用程序(ASP.NETMVC5withC#),它可以通过插件进行扩展。为此,我编写了一个小SDK,其中包括用户为加载插件而必须实现的所有接口。那很好

要编写插件,客户必须在VisualStudio中创建一个新的类库项目并导入SDK程序集

现在我想允许用户使用插件(目前只是一个dll)打包静态文件。这些静态文件可以是html、css、js、图像等。 这些文件必须位于特定文件夹中才能被我的服务器拾取。至少,这是我计划要做的。所以在插件安装时,我想将插件的特定文件夹中的所有文件复制到服务器的特定插件文件夹中

问题:如何访问dll中的静态文件?我已经读过使用程序集的GetManifestResourceNames方法,但它不起作用

为了进行测试,我将这样做:

var assembly = Assembly.LoadFrom(pluginPath);
log.Debug("Number of ressources: " + assembly.GetManifestResourceNames().Length);
foreach(var resName in assembly.GetManifestResourceNames())
{
   log.Debug(resName);
}
但输出总是“Resources的数量:0”,因此GetManifestResourceNames返回一个空数组

我知道插件加载正确,因为我可以访问它的所有类和东西。我做错什么了吗?我对C#相当陌生,因为我主要是一名Java开发人员


非常感谢您的帮助

我创建了一个小测试项目,您的代码运行良好,正确列出了资源的名称


您可能没有正确添加静态文件。将静态文件添加到项目中时,请确保在“属性”窗口中将生成操作更改为“嵌入式资源”。

谢谢!成功了!它被设置为“内容”,而不是“嵌入式资源”。有没有办法为所有静态文件和typescript文件的输出js文件定义此构建操作?