好久没来了,散个分,顺便来个小问题

lovefootball 2010-02-02 01:10:41
好久没来了,散个分,顺便来个小问题

1.新建一个工程WinApp
2.先编译,生成DLL,并把DLL拷贝到别的目录(否则一会编译EXE就冲掉了)
3.在编译,生成EXE,并把刚才的DLL拷贝到EXE路径下
4.确定Main方法加上[STAThread]
5.Main里面加上ApartmentState state = Thread.CurrentThread.GetApartmentState();并设置断点
好了,F5,看看为什么不是STA而是MTA,如果没有那个DLL则是STA

请高手赐教
...全文
892 156 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
156 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovefootball 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 148 楼 cuike519 的回复:]
这是由于调试器需要特殊的功能而作的优化,当你使用调试器的这些特性的时候,被调试线程在启动的时候就会被设置成MTA模式,为什么有个同名的dll就会出现MTA,这个和装载和运行Assembly的内部实现有关系,也许是个BUG,不敢肯定。

解决这个问题只需要禁用Eable the Visual Studio hosting process选项即可(在项目属性的调试页签里面)。
[/Quote]

恩,我也觉得是那个Host的问题
其实我想要的是一个官方的说法
说明一下是如何创建程序域,并且是如何装载EXE的
才会出现这个问题
diegoyu 2010-02-05
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 tangzhiping121603 的回复:]
学习,接分
[/Quote]
哇 哥发现你了
dp5251506 2010-02-05
  • 打赏
  • 举报
回复
.......不会
cjnkd 2010-02-05
  • 打赏
  • 举报
回复
帮顶一个
afeng@2008 2010-02-05
  • 打赏
  • 举报
回复
俺只能凑个热闹了
Dogfish 2010-02-05
  • 打赏
  • 举报
回复
我也是来接分的。
xjc635 2010-02-05
  • 打赏
  • 举报
回复
路过,拿分,呵呵!
重返春季 2010-02-05
  • 打赏
  • 举报
回复
顶一下,顺便拿点分Q
cuike519 2010-02-05
  • 打赏
  • 举报
回复
这是由于调试器需要特殊的功能而作的优化,当你使用调试器的这些特性的时候,被调试线程在启动的时候就会被设置成MTA模式,为什么有个同名的dll就会出现MTA,这个和装载和运行Assembly的内部实现有关系,也许是个BUG,不敢肯定。

解决这个问题只需要禁用Eable the Visual Studio hosting process选项即可(在项目属性的调试页签里面)。
ytc666 2010-02-04
  • 打赏
  • 举报
回复
接分
流水小筑 2010-02-04
  • 打赏
  • 举报
回复
路过,进来逛逛,顺便接点分
tiandiyouwo1 2010-02-04
  • 打赏
  • 举报
回复
jf
ximengchang 2010-02-04
  • 打赏
  • 举报
回复
新年快乐!
lovefootball 2010-02-04
  • 打赏
  • 举报
回复
Taiyangchen 2010-02-04
  • 打赏
  • 举报
回复
up!
wangweis 2010-02-04
  • 打赏
  • 举报
回复
不错 学习了 呵呵呵 支持
sz_xd 2010-02-04
  • 打赏
  • 举报
回复
幫頂!
mars199 2010-02-04
  • 打赏
  • 举报
回复
这个真不懂
cobra009 2010-02-04
  • 打赏
  • 举报
回复
141楼,好高啊,争取超金茂大厦!~
JG
dafei198607 2010-02-04
  • 打赏
  • 举报
回复
顶一下,顺便拿点分
加载更多回复(130)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧