运行带有.dll embed的c#项目,如果从VS2010运行则有效,从可执行文件运行则无效

运行带有.dll embed的c#项目,如果从VS2010运行则有效,从可执行文件运行则无效,c#,dll,C#,Dll,我在c#中有一个项目,在该项目中我添加了一个file.dll,当我从VS2010运行程序时,它起作用,但当我尝试运行form/bin/debug/myproject.exe时,它不起作用,只是当程序使用file.dll时失败 我试过: file.dll配置其属性,如: 构建操作:内容 也 构建操作:嵌入式资源 但还是不起作用 对不起我的英语,希望你能帮助和理解我的问题 您是否尝试过生成操作:none和copy to output dir:copy always或copy if newer 为什么

我在c#中有一个项目,在该项目中我添加了一个file.dll,当我从VS2010运行程序时,它起作用,但当我尝试运行form/bin/debug/myproject.exe时,它不起作用,只是当程序使用file.dll时失败
我试过:
file.dll配置其属性,如:
构建操作:内容

构建操作:嵌入式资源
但还是不起作用
对不起我的英语,希望你能帮助和理解我的问题


您是否尝试过生成操作:none和copy to output dir:copy always或copy if newer


为什么不添加dll作为引用(如果需要,复制本地:true)?或者你不想使用它吗?

我发现了问题,我的应用程序通过控制台与file.dll进行通信,当我从VS运行mi project时,此控制台是打开的默认设置,但当我从/bin/debug/myproject.exe执行应用程序时,这不会打开任何控制台,因此通信失败,因此,现在我认为解决方案是为运行在应用程序后面的通信创建一个控制台

您是否尝试将属性“Copy local”设置为“true”?“它不工作”太广泛了。更具体地说,您遇到了哪个异常?异常是:error:System.IndexOutOfRangeException:Index超出了数组的边界。但是当你从VS2010运行我的项目时,同样的过程是成功的,并且没有显示任何异常Markus,是的,我在属性的file.dll中输入了:“直接复制到输出:始终复制”很好。。。第一:是的,我使用了“无,且始终复制”,问题仍然存在,现在关于添加为引用,是的,我尝试过,但向我显示一条它无法显示的消息,这就是我不使用它的原因消息说了什么?无法添加dll的任何原因?file.dll是否在输出目录中?如果可以启动/bin/debug/myproject.exe,则可以调试程序(调试/附加到进程),也许您会看到程序崩溃的原因。提示:在程序开始时插入一个Thread.Sleep(10000)。因此,您将有10秒的时间连接到进程。