c# - 引用 VB.NET 项目的 C# 项目:找不到程序集“Microsoft.VisualBasic,版本 10.0.0.0”
问题描述
我有一个引用 VB.NET WPF 项目的 C# WPF 项目。C# 项目中的某些窗口使用在 VB.NET 项目中定义的用户控件。最近因为这些 UserControls,我一直无法构建 C# 项目。对于使用 VB.NET UserControl 的每个窗口,生成输出显示以下内容:
error MC1000: Unknown build error, 'Could not find assembly 'Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Either explicitly load this assembly using a method such as LoadFromAssemblyPath() or use a MetadataAssemblyResolver that returns a valid assembly. Line 37 Position 134.'
如果我向 C# 项目的依赖项添加 Microsoft.VisualBasic 引用,则构建错误得到解决。但是,直到最近才要求这样做。我首先在 Visual Studio Preview 16.4 中注意到它,然后在 16.3 中更改回 Enterprise。我目前正在使用 VS Enterprise 16.3.9,现在也有同样的问题(尽管它以前适用于这个版本)。
我的问题是,是否真的有必要向我的 C# 项目添加 Microsoft.VisualBasic 引用,或者这是别的什么?
解决方案
如果您引用的代码依赖于Microsoft.VisualBasic
程序集,则运行时需要能够在运行您的应用程序时找到它。
要么将其添加为应用程序的直接引用,要么确保在 VB.NET 项目中设置引用的Copy Local属性。true
推荐阅读
- android - 三星 Bixby Key 的密钥常数是多少?
- django - django 阻止模型根据条件更新
- spring-boot - Apache骆驼xml反序列化失败
- python - cs50 可读性 pset6 python - 索引计算问题
- mediawiki - 计算类别在 mediawiki 中不起作用
- c++ - 根据版本有条件地选择编译器
- javascript - 如何处理返回陈旧事件处理程序的 React 钩子
- java - AES+ Base64 解密文件出现乱码
- ubuntu - 如何安装特定版本的 solc?
- c# - 如何从 LINQ 创建一个可观察的集合,该集合是为创建数组而编写的?