相关疑难解决方法(0)

无法使用GetManifestResourceStream()加载清单资源

我已经使用XSD创建了自定义配置部分.为了解析这个新模式之后的配置文件,我加载了资源(我的.xsd文件):

public partial class MonitoringConfiguration
    {
        public const string ConfigXsd = "MonitoringAPI.Configuration.MonitoringConfiguration.xsd";
        public const string ConfigSchema = "urn:MonitoringConfiguration-1.0";

        private static XmlSchemaSet xmlSchemaSet;

        static MonitoringConfiguration()
        {
            xmlSchemaSet = new XmlSchemaSet();
            Stream xsdStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(ConfigXsd);
            XmlReader schemaReader = XmlReader.Create(xsdStream);
            xmlSchemaSet.Add(ConfigSchema, schemaReader);
        }

    }
Run Code Online (Sandbox Code Playgroud)

顺便说一下,我的资源是:MonitoringConfiguration.xsd.而另一个部分类的名称空间(表示.xsd文件背后的代码)是MonitoringAPI.Configuration.

问题出在这里:

 Stream xsdStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(ConfigXsd);
Run Code Online (Sandbox Code Playgroud)

xsdStream为null,所以我猜想无法找到资源!但为什么?

谢谢

.net c# configurationsection

47
推荐指数
5
解决办法
5万
查看次数

清单资源的资源名称是什么(Assembly.GetManifestResourceStream)?

我在ASP.NET MVC应用程序中嵌入了一个资源(一个XSD文件).现在,我想从代码中检索此文件.

查看文档Assembly.GetManifestResourceStream(),它需要一个字符串参数,即"请求清单资源的区分大小写的名称".

好吧,我发现它没有那么有用,当然,在MSDN上找不到任何示例.清单资源的名称是什么?它是文件的名称吗?它是文件的完整路径和名称吗?或者它是一个单独的名称,给予资源本身,如果是这样,我该如何设置该名称?

.net c# asp.net asp.net-mvc

6
推荐指数
1
解决办法
6326
查看次数

从嵌入资源中删除前缀命名空间

如何使用以下代码仅提取文件名(不包括命名空间)?目前,此代码包含 GetManifestResourceNames() 中的整个命名空间。

 Assembly assembly = System.Reflection.Assembly.LoadFile(resourceLocation + @"\\" + file);


            string[] names = assembly.GetManifestResourceNames();

            foreach (var name in names.Where(x => x.EndsWith("xsd")).ToList())
            {
                using (System.IO.Stream stream = assembly.GetManifestResourceStream(name))
                {

                    using (System.IO.FileStream fileStream = new System.IO.FileStream(System.IO.Path.Combine(outputDir, name), System.IO.FileMode.Create))
Run Code Online (Sandbox Code Playgroud)

.net c#

5
推荐指数
1
解决办法
1184
查看次数

在c#中将构建操作"更改为"嵌入式资源

如何添加更改.dll文件在c#中构建操作"到"嵌入式资源.

c#

3
推荐指数
1
解决办法
1万
查看次数

Assembly.GetManifestResourceStream始终返回null

每当我完成任务时,它总是让我感到困惑Path-Resolution.我有关于报告问题的以下信息:

  • 运用 ASP.NET MVC-5 Application
  • 试图通过下面的代码访问font fileieMyriadPro-SemiBold.ttf
//a value receives a path + name of the file in variable i.e. name
string name = "myApplicationName.fonts.MyriadPro-Semibold.ttf";

//object (named as assembly) of class System.Reflection.Assembly. 
var assembly = Assembly.GetExecutingAssembly();

using (Stream stream = assembly.GetManifestResourceStream(name))
// stream always gets null value (don't know why!)
{
    if(stream != null)
    {
        //myCode waiting for above stream not to be null :-(
    }
    else
    {
        throw new ArgumentException("No resource with name " …
Run Code Online (Sandbox Code Playgroud)

c# resources .net-assembly asp.net-mvc-5

3
推荐指数
1
解决办法
4159
查看次数