有没有办法更改在c#中自动生成的dll的引用?
也就是说,实际上这个问题是基于我自己的问题,你可以在这里找到: https://stackoverflow.com/questions/18271116/sqlserver-batchparser-issue-while-trying-to-execute-sql-scripts-using-c-sharp
在我收到的异常中,我发现C#引用的是版本为“9.0.242.0”的sqlserver.batchparser.dll。但是当我检查我的程序集(C:\ Windows \ Assembly)时,我可以找到x86和64版本的版本“10.0.0.0”的同一文件。
那么,我是否可以更改调用此dll的当前方式以使其与新版本调用相同的dll?
答案 0 :(得分:2)
当您管理项目的依赖项时(使用VS的解决方案资源管理器),您可以选择要使用的正确版本的程序集。
在您的情况下,看起来您的程序集已使用您的dll的9.0.242.0版本进行编译,并且计算机上仅存在10.0版本。因此,您可以更改项目依赖项中的程序集以使用正确的(10.0)版本,也可以将程序集的9.0版本放在应用程序的目录中。
答案 1 :(得分:1)
正如我在上面的评论中所说,either reference right dll version in the project。如果要同时使用两者,则使用外部别名概念或使用动态(c#4.0)。
您还可以尝试为引用为true的程序集设置特定的版本属性。默认情况下,它设置为false。右键单击引用下的程序集,然后单击属性。 Reference for external alias concept
答案 2 :(得分:0)
您可以使用Assembly Binding Redirection。在web.config
或app.config
。