c# – 从unsigned项目引用的程序集需要强名称吗?
我正在开发
WCF服务. WCF服务接口和实现位于不同的项目中.还有一个Windows服务项目来托管WCF服务.
WCF服务实现需要做的一件事就是调用几个外部(SOAP)Web服务.我们通常构建它的方式是为SOAP服务创建一个单独的类库项目;我们将在类库中创建Web引用和工厂/帮助器方法. 以上细节可能与实际问题相关或不相关.这是我在构建WCF服务实现项目时遇到错误(其中X是SOAP服务包装程序集之一):
但是WCF服务实现项目没有设置为签名(接口项目也不是).在这一点上,引用它的唯一两件事是Windows服务项目和单元测试项目 – 这两者都没有签名. WCF实现还引用了其他(预先存在的)Web服务包装器项目,但它只是抱怨这两个.我已经在文本编辑器中并排了一个现有的和一个新的项目文件……我可以看到任何重大的差异. 我还检查了是否有任何项目正在导入需要签名的设置,如Stack Overflow问题Remove signing from an assembly中所述.但似乎并非如此. 我试图使用AutoMapper – 1.1因为我们仍然在.NET 3.5上 – 在我的WCF实现中.这是一个签名的程序集,所以我可以看到它可能在我的代码和SOAP服务包装器上出现问题.但在我看来,这将是一个运行时问题,而不是构建时间.但是因为我怀疑它可能至少是一个促成因素,我删除了AutoMapper和相关代码,但我仍然得到相同的错误. 我已经研究过这个问题,大多数搜索结果都包含有关如何签名(可能是第三方)程序集的说明. 我已经尝试删除并重新添加引用,重新启动Visual Studio和我的PC. Windows 7 64位上的Visual Studio 2010 / .NET 3.5. 我敢肯定我错过了一些相当明显的东西……我只是想不出来. 解决方法
嗯……这很尴尬.
我怀疑,这很简单.事实上,服务接口和实现已经签署;我对此不正确.但是,这不是在项目设置/文件中完成的,而是在AssemblyInfo.cs文件中通过指令完成的 我不熟悉这种签名方法.我收集它自VS2005以来已被弃用 – 部分原因是通过项目属性管理签名更为直接,部分原因是将此信息放入AssemblyInfo被认为是安全风险. 事实上我至少看过一个AssemblyInfo文件……但显然我没有向下滚动得足够远. (我说这很尴尬.) 希望其他人可以从中受益. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |