c# - 如何从强命名主机使用 ServiceStack?

标签 c# servicestack strongname

我有一个需要强名称的代码库。

起初,我认为这将是一个简单的修复,因为我只是为我需要的 ServiceStack 程序集分配了强名称。由于 ServiceStack 内部对弱命名程序集的相互依赖,这失败了。然后,我硬着头皮使用我的 key 文件重新编译了 ServiceStack——这是不可取的,因为我没有看到可以在单个位置完成此操作的方法,并且必须将其添加到每个项目。

即便如此,由于以下原因,解决方案无法通过测试构建:

[assembly: InternalsVisibleTo("ServiceStack.Common.Tests")]

我发现自己陷入了一个恶性循环,必须调整一些东西才能使它们正常工作,并且使自己离我想保持更新的源库越来越远。

我该如何解决这个问题?我不喜欢这是怎么回事...

最佳答案

它可能无法解决您的问题,因为这不是 100% 可靠的(尽管,如果它在一台主机上工作正常,它将在所有主机上工作 - 所以如果您有良好的测试覆盖率,您至少可以确保它工作正常).

LibZ(免责声明:LibZ.Author = Me)有一个函数 sign-and-fix 可以找到未签名的程序集,自下而上遍历程序集树并将所有程序集引用替换为这个"new"签名程序集。

链接: https://libz.codeplex.com/wikipage?title=Signing%20assemblies&referringTitle=Documentation

关于c# - 如何从强命名主机使用 ServiceStack?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16795314/

相关文章:

c# - 缩小 Asp.Net 应用程序的 Html

c# - ServiceStack REST API 设计

c# - MySQL C# 查找某个最大距离内的 Lat Lon 条目

.net - 无法加载文件或程序集 'AssemblyName PublicKeyToken=null' 或其依赖项之一

c# - 使用 AutoMapper 创建通用对象的新实例

c# - 获取值存储过程 C#

c# - serialport.Write() - 如何正确格式化字节

c# - 如何在没有 default.htm 页面的情况下使用 ServiceStack MVC 库

c# - 为什么建议在开源存储库中包含用于程序集签名的私钥?

.net - 我是否需要为每个版本的强命名库提供一个新的 .snk key 文件?