首页 新闻 会员 周边

dll文件和cs文件同存,调用问题

0
悬赏园豆:20 [已解决问题] 解决于 2010-12-30 16:57

大家好!假设一个c# .net 网站,其中的cs文件已经预编译成dll文件,现在dll文件和cs文件同存,当我调试网站是,请问调用的是dll文件还是cs文件,我知道如果删掉cs文件网站也可以成功调试,但是不知道如果删掉dll文件保留cs文件,网站是否还会成功运行;同时是不是有个配置文件来指定调用dll文件或cs文件。谢谢大家。

LitterKen的主页 LitterKen | 初学一级 | 园豆:100
提问于:2010-12-30 11:18
< >
分享
最佳答案
1

首先,编译器会把你的.CS文件编译成DLL,然后调用的时候会去调用DLL

加入你把DLL删除掉,系统会自动编译的CS文件变成DLL,然后再去调用。

 

如果你对CS文件进行修改,编译器会帮你重新编译CS文件,然后覆盖掉原来的DLL;

 

假如:你调用了别人的一个DLL,你又写了一个CS,命名空间跟那个调用的DLL一样,那么编译器会覆盖掉原本那个CS文件

收获园豆:10
|ī笨笨﹎ヤ | 初学一级 |园豆:2 | 2010-12-30 14:06
哎呀,刚才打字,打快了 "加入"是假如
|ī笨笨﹎ヤ | 园豆:2 (初学一级) | 2010-12-30 14:07
其他回答(4)
0

应该不会有什么矛盾吧,如果你没有把文件设置成编译方式,就不会产生影响貌似(这个不是很懂啊),删除了dll,如果上传的是未编译的源文件是没有任何问题的,但如果上传的是发布的文件(即编译了)的话,删除了dll肯定是无法运行的。

源文件的话,服务器端会重新编译,但编译后删除了dll又没有源文件,首先找dll找不到,然后源文件没有就无法重新编译了。

massinger | 园豆:706 (小虾三级) | 2010-12-30 11:33
0

看你怎么发布网站,删除的是什么dll文件了。一般情况下你是自己的服务器,不担心源码丢失的话,发布的时候直接把源文件放进去就行的那样的话,运行的脚本源文件不能删除,如果这个时候有dll的话,一般就是你项目中的类库了,当然dll也不能删除了,如果你是担心源码丢失,发布的时候是把整个网站编译了的话,这样,源码文件就全部可以删除,因为这个时候连你的aspx,.cs文件全部编译进去了。

ps:这是我所了解的,你可以再查一查其他资料。

收获园豆:5
顾晓北 | 园豆:10844 (专家六级) | 2010-12-30 11:41
你好,“如果你是担心源码丢失,发布的时候是把整个网站编译了的话,这样,源码文件就全部可以删除,因为这个时候连你的aspx,.cs文件全部编译进去了。”针对这种情况,我删除的不是cs文件,而是删除dll文件,结果会如何呢?谢谢!
支持(0) 反对(0) LitterKen | 园豆:100 (初学一级) | 2010-12-30 11:49
晕,你想吧,这时候你的dll文件就是你全部的东西,网页请求就是请求的他,你说你删除会怎么样? 如果你是说全部编译,但是删除dll,保留源码这个情况的话,我没试过,你可以试一下,把你的网站备份一下,可以告诉我一下结果。。。 ps:任何情况下你的类库编译成的dll都不能删除。
支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2010-12-30 11:54
0

.cs 拷贝出去至一个新建的类库,类库编译后的 .dll 拷贝至 asp.net 网站的 Bin 文件夹里。

二个项目放在 VS 同一个解决方案里,在解决方案的「属性; 内容」设置两个项目的关联。

如此当 asp.net 网站调试时,断点会进入类库项目。
但类库的 .cs 修改后,类库要重新编译,再把 .dll 拷贝至 asp.net 网站的 Bin 文件夹里。

收获园豆:5
WizardWu | 园豆:1402 (小虾三级) | 2010-12-30 13:16
解决方案里设置关联,在「项目相依性」,设置成 asp.net 网站项目,相依于 类库 项目。
支持(0) 反对(0) WizardWu | 园豆:1402 (小虾三级) | 2010-12-30 15:37
0

如果是发布后的,删除所有cs就可以了,保留bin下的dll。

Astar | 园豆:40805 (高人七级) | 2010-12-30 13:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册