我试图使用c# 4.0编译我的excel插件,并在Visual Studio中构建我的项目时开始遇到这个问题。重要的是要告诉你,我以前从来没有遇到过这个问题。什么会导致这种情况发生?
当前回答
如果你的主项目使用了一些库项目并引用了它们,当你在库项目中更改某些内容时(例如:重命名一个类),如果你的项目引用了一个程序集dll文件而不是库项目,就会导致这个问题。
您可以在对象浏览器窗口(菜单视图->对象浏览器)中按视图检查对主项目的所有引用。对dll文件的引用总是有一个版本号。示例:TestLib [1.0.0.0]
解决方案:删除主项目对库项目的当前引用,并重新添加对该库项目的引用。
其他回答
如果你的主项目使用了一些库项目并引用了它们,当你在库项目中更改某些内容时(例如:重命名一个类),如果你的项目引用了一个程序集dll文件而不是库项目,就会导致这个问题。
您可以在对象浏览器窗口(菜单视图->对象浏览器)中按视图检查对主项目的所有引用。对dll文件的引用总是有一个版本号。示例:TestLib [1.0.0.0]
解决方案:删除主项目对库项目的当前引用,并重新添加对该库项目的引用。
只需转到发布->应用程序文件->,并将受影响的dll发布状态从先决条件改为包括! 这对我很管用!
这里有一个不同的方法来解决这个问题:
右键单击项目并选择“卸载项目”选项。您将注意到您的项目变得不可用。 右键单击不可用项目并选择“Edit”选项。 向下滚动到包含所有资源标记的“< ItemGroup >”标记。 现在转到已经显示在错误列表中的引用,您将注意到它使用了单个标记(即< reference Include="assemble_name_here, Version=0.0.0.0, Culture=neutral" / >)。 更改为如下所示:
.
<Reference Include="assemble_name_here, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" >
< Private > True < / Private >
< HintPath > path_here\assemble_name_here.dll < / HintPath >
< / Reference >
保存您的更改,再次右键单击不可用的项目,然后单击“重新加载项目”选项,然后构建。
我也遇到了一些问题,我所要做的就是删除导致错误的.dll(可以在参考中找到),并重新添加它。
效果非常好。
我就有这个问题。这是因为我有许多项目指向相同的组装,但从不同的版本。我解决它选择相同版本的所有项目在我的解决方案。
推荐文章
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- 转换为值类型'Int32'失败,因为物化值为空
- c#中有任何连接字符串解析器吗?
- 在Linq中转换int到字符串到实体的问题
- 是否可以动态编译和执行c#代码片段?
- 创建自定义MSBuild任务时,如何从c#代码获取当前项目目录?
- c#和Java的主要区别是什么?
- 在c#中创建一个特定时区的DateTime
- .NET中的属性是什么?
- csproj文件中的“Service Include”是干什么用的?
- 如何使用try catch进行异常处理是最佳实践
- 替换字符串中第一次出现的模式
- .NET中字节的字面后缀?
- 如何处理AccessViolationException
- c#忽略证书错误?