在以编程方式编译的程序中引用shell32.dll
本文关键字:引用 shell32 dll 程序 编程 方式 编译 | 更新日期: 2023-09-27 17:59:15
我需要程序中的shell32来创建快捷方式。
这是我的代码:
var compiler = new CSharpCodeProvider();
var Params = new System.CodeDom.Compiler.CompilerParameters
{
GenerateExecutable = true,
OutputAssembly = outputName,
ReferencedAssemblies = {
"System.dll",
"System.Core.dll",
"System.Windows.Forms.dll",
"System.Drawing.dll",
@"C:'Windows'System32'Shell32.dll"
}
};
这样做,我得到一个错误:
无法打开元数据文件C:''Windows''System32''Shell32.dll。试图加载格式不正确的程序。
搜索时一无所获。。我甚至不知道该搜索什么:/
我该怎么做?
Shell32.dll(Windows文件系统不在乎大小写,所以"s"或"s"不重要)不是.NET程序集,因此不能按此处理。
如果要调用从非.NET库导出的函数,则应该使用DllImportAttribute
。
我遇到了同样的问题,刚刚解决了它。
将以下内容添加到引用的程序集列表中:
ReferencedAssemblies.Add("Interop.Shell32.dll");