我试图使用c# 4.0编译我的excel插件,并在Visual Studio中构建我的项目时开始遇到这个问题。重要的是要告诉你,我以前从来没有遇到过这个问题。什么会导致这种情况发生?
当前回答
帮助我的是,我进入包管理器解决方案,查看导致问题的安装包。我看到有几个项目引用了相同的包,但是版本不同。我根据自己的需要把它们排列起来,这很有效。
其他回答
我在从包中迁移Excel插件后遇到了这个问题。配置到PackageReference。似乎和这个问题有关。
如果你不使用ClickOnce,下面的工作作为一个粗略的解决方案(它将从.manifest文件中省略所有依赖信息):
Unload project, edit .csproj Find the section looking like this: <!-- Include additional build rules for an Office application add-in. --> <Import Project="$(VSToolsPath)\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets" Condition="'$(VSToolsPath)' != ''" /> Edit a renamed copy of the referenced .targets file (in my case, the file resolved to C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\OfficeTools\Microsoft.VisualStudio.Tools.Office.targets and I made a copy Microsoft.VisualStudio.Tools.Office_FIX.targets in the same folder - didn't check if it works from a different folder). Find the GenerateApplicationManifest element and change its attribute Dependencies="@(DependenciesForGam)" to Dependencies="". Change the section found in 2. to reference your edited .targets file instead.
每当VS附带的.targets文件版本更新(或者你不会得到更新)时,这将不得不重复,但我希望它能很快得到修复…
我有这个解决方案与6个项目。 我的一个项目是将命名程序集引用为文件引用。其他人都指向了项目参考。
在这种情况下,我通常会得到不同的错误。
我的解决方案是在引用命名程序集的任何地方删除它,然后再将它添加回来。 一旦我完成了这个项目,这个问题就消失了。 在此之前,我尝试清理解决方案,并确保没有任何项目被签名。
希望它能帮助到某人…
您需要使用密钥对程序集进行签名。进入选项卡签名下的项目属性:
这是在更改引用的.dll的版本时引起的。您需要删除目标构建文件夹中的所有项或.dll。
您的程序集是否正确签名?
要检查这一点,在项目上按Alt+Enter(或右键单击,然后Properties)。点击“签名”。验证复选框“签名程序集”已选中,强名称密钥文件已选中,且“仅延迟签名”未选中。
推荐文章
- 如何在c#中获得正确的时间戳
- Linq选择列表中存在的对象(A,B,C)
- c# .NET中的App.config是什么?如何使用它?
- c#:如何获得一个字符串的第一个字符?
- String类中的什么方法只返回前N个字符?
- 更好的方法将对象转换为int类型
- 我可以将c#字符串值转换为转义字符串文字吗?
- 在c#中转换char到int
- c#中朋友的对等物是什么?
- 关键字使用virtual+override vs. new
- 在ASP中选择Tag Helper。NET Core MVC
- 如何在没有任何错误或警告的情况下找到构建失败的原因
- 跨线程操作无效:控件“textBox1”从创建它的线程以外的线程访问
- Visual Studio弹出提示:“操作无法完成”
- 否ConcurrentList<T>在。net 4.0?