郁闷的网站自动编译问题?

howbigsea 2009-11-01 06:19:58

本解决方案包括三个工程 MCMis(asp.net)、MCMis.Data(类工程,被网站引用)、MCMis.Tools(类工程,被MCMis.Data引用),但MCMis.Tools是第三方的,没有源代码。

在网站调试的时候,我是使用asp.net自动编译功能,打开网站:
1、修改MCMis(asp.net),刷新页面,能自动编译;

2、修改MCMis.Data工程,重新编译MCMis.Data,然后刷新页面,不能自动调用新的MCMis.Data工程代码?

问题就是如何设置,能自动调用最新生成的MCMis.Data工程DLL文件?

另外,在网站的Bin目录下,我重新编译MCMis.Data后,其MCMis.Data.dll的修改时间并没有变化。
...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lerit 2009-11-01
  • 打赏
  • 举报
回复
当然,上面好多人都说了怎么手动更新,如果你可以接受,那就手动更新,而自动更新,必须使用强命名的程序集
wuyq11 2009-11-01
  • 打赏
  • 举报
回复
在网站项目里删除原引用,添加新引用,选择MCMis.Data项目bin目录的文件
yyhlove 2009-11-01
  • 打赏
  • 举报
回复
友情帮顶
lerit 2009-11-01
  • 打赏
  • 举报
回复
补充一下把:
给项目添加强名称需要以下三步:

1. 在项目调试完成后,使用sn.exe工具生成一个密钥。sn -k "生成的密钥的全路径"。
如在命令行输入: sn -k D:\myKey.snk
2. 将密钥与项目的程序集进行关联: 项目属性-->签名-->为程序集签名-->选择强名称密钥文件。
此外, 还有另外一种方法,就是在项目的AssemblyInfo.cs文件中,修改"AssemblyKeyFile"的属性。
如: [assembly:AssemblyKeyFile("D:\\myKey.snk")]
3. 重新生成项目集。

BTW: gacutil.exe, sn.exe等工具一般在VS.Net2005/SDK/v2.0/Bin目录下
lerit 2009-11-01
  • 打赏
  • 举报
回复
确实,在website里面,如果你引用的是个普通dll,是要手动更新,你选择那个引用,右键,选择“更新引用”,当然如果你想要他每次自动更新,就要将这个dll添加到全局程序集缓存中,这就需要你得dll必须是强命名的程序集。这样在程序部署时,就会将程序使用的DLL放到“C:\WINDOWS\assembly\”目录中(就是系统目录的assembly目录中),应用程序就可以运行了;当有不同版本,或不同签名的DLL时,应用程序会通过"MSCoree.dll"找到其合适的版本的dll;这种方式的好处就是把问题全部集中管理,免去多个应用程序使用不同版本问题。
因此建议你去找找将dll进行强命名的相关资料,本人能力有限

Rail100 2009-11-01
  • 打赏
  • 举报
回复
选发布才会出dll的吧,编译不会
howbigsea 2009-11-01
  • 打赏
  • 举报
回复

删除当然可以了,但是

每次修改后,都删除,太郁闷了,效率低呀
PandaIT 2009-11-01
  • 打赏
  • 举报
回复
嗯!!删除原来的dll重新编译!

重新添加引用!!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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