我一直在编写这个程序(FOO),它包含对dll(BAR)的引用.所有BAR包含的是执行各种不同计算的方法. FOO将能够在多台计算机上安装和部署.我的问题是,如果我在其中一个方法中更改公式(即更改x + y为x - y),我是否需要重新构建FOO新方法BAR?更重要的是,部署新版本是否安全BAR?
Rob*_*obV 10
@ vcsjones的评论提出了一个重要的观点.
当且仅当程序集版本没有更改且您没有使用强名称程序集时,您可以将新DLL作为替换.
如果版本确实发生了更改,那么您可能会收到运行时错误,因为您的程序会尝试加载特定版本并获得与预期不同的版本.但是,如果没有方法签名发生变化,这可能会正常工作,但我不保证,并且总是建议重新编译.
使用强名称程序集时,这更是一个问题,因为强名称会对程序集的版本和数字签名进行编码.因此,如果程序集中的任何代码已更改,则即使版本尚未更改,数字签名也会更改,因此强名称会更改.
同样,这将导致运行时错误,因为程序期望的强名称与程序集强名称不匹配.因此,在这种情况下,总是需要重新编译.
总结一下: