我正在使用从c#转换的VB.net项目。当我打开项目时,我看到了消息:
该项目需要用户输入。重新加载项目以获取更多信息
当我选择Project Reload时,我收到消息
无法完成操作。未指定的错误
知道这意味着什么吗?
该项目建立得很好。但是当我运行项目并按下Login按钮时,我得到了
处理文件加载异常
在这一行:
((ThreadStart)t._start)();
在输出窗口中,我看到:
“System.IO.FileLoadException”类型的第一次机会异常 发生在TIProData.dll。
在错误对话框中,它还说:
其他信息:无法加载文件或程序集'zlib.net, Version = 1.0.3.0,Culture = neutral,PublicKeyToken = 47d7877cb3620160'或 其中一个依赖项。定位程序集的清单定义 与装配参考不匹配。 (HRESULT的例外情况: 0x80131040)
答案 0 :(得分:1)
找到的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
通常,在引用的程序集的版本中会发生此错误 与您机器中的不同。
在您的机器上搜索您的机器中的zlib.net文件的版本。该项目找到zlib.net, Version=1.0.3.0
,但它不是引用的版本,您需要具有在您的计算机中引用的相同版本。确保您的计算机上有相同版本的程序集文件。这是一个您可能不想对项目进行任何其他更改的解决方案。
另一种选择是删除现有引用并添加对zlib.dll的新引用,这将是您机器中的版本。但是,如果存在实质性差异或者对版本之间的程序集进行了更改,则可能需要更改代码。
答案 1 :(得分:1)
移动/复制装配并在项目中手动更新参考,但有更好的方法。
您应该使用NuGet package manager来管理外部库。您甚至可以控制项目使用的库版本。
关于NuGet
使用NuGet安装软件包时,会复制库文件 解决方案并自动更新您的项目(添加 引用,更改配置文件等)。如果你删除一个包,NuGet 扭转它所做的任何改变,以免留下任何混乱。
例如,zlib library可以使用Package Manager Console中的简单命令在项目中安装和引用。
答案 2 :(得分:0)
错误意味着您错过了依赖关系。
下载并安装zlib:http://www.zlib.net/
然后在VB项目中,在依赖项中添加zlib。
如果您仍然遇到问题,则必须使用Fusion Log Viewer查明问题,信息位于:How to enable assembly bind failure logging (Fusion) in .NET
答案 3 :(得分:0)
项目需要用户输入。重新加载项目以获取更多信息
答案 4 :(得分:0)
我希望通过仅在Admin模式下运行VS来解决此问题。它与IIS的权限有关。只有将一个未打开的项目移到单独的文件夹并尝试单独打开它之后,我才能够看到IIS问题和“以管理员身份运行”的建议