我尝试使用IISOle中的MimeMapClass
。
我收到以下错误
The type 'IISOle.MimeMapClass' has no constructors defined
当我尝试实例化对象时会发生这种情况
vRoot.Properties["MimeMap"].Add(new MimeMapClass { Extension = ext, MimeType = mime });
我收到其他错误:
Interop type 'IISOle.MimeMapClass' cannot be embedded. Use the applicable interface instead.
'IISOle.MimeMapClass' does not contain a definition for 'Extension'
我不知道为什么会这样。
有什么想法吗?
答案 0 :(得分:1)
我不确定这是否是您的问题,因为我不知道您是否使用VS2010。但如果您是,请尝试不嵌入互操作类型(请参阅您添加的参考的属性)。根据这个article,它会引起你这些类型的麻烦
答案 1 :(得分:0)
您是否尝试过以下操作? (不是生产代码 - 没有错误处理,处理或检查提供的现有项目。)
DirectoryEntry mimeMap = new DirectoryEntry("IIS://localhost/MimeMap")
PropertyValueCollection collection = mimeMap.Properties["MimeMap"];
MimeMapClass newMimeType = new MimeMapClass();
newMimeType.Extension = ext;
newMimeType.MimeType = mime;
collection.Add(newMimeType);
mimeMap.CommitChanges();