Assembly Resolution
在项目转换过程中,转换器可能会提示您找到项目引用的特定程序集(如果转换器无法找到它们)。
为了提供尽可能好的转换,转换器使用反射来检查引用的程序集,以确定程序集中类型和成员的性质。
如果转换器未解析所有程序集,您仍可以继续进行项目转换,但转换对于引用未解析程序集的代码可能不是最佳。这只意味着可能需要进行一些手动调整。
由于以下原因,装配分辨率可能会失败,转换器无法解决任何问题:
该程序集是为较新版本的.NET Framework而不是计算机上可用的最新版本构建的。
该程序集是一个“通用Windows平台”程序集(以前称为“UAP”,“Windows Store”,“WinRT”或“Metro”)。由于非通用应用程序无法加载通用程序集,因此转换器将无法加载这些程序集。
该程序集是64位程序集,转换器作为32位exe运行(如果您运行的是32位Windows,转换器将以32位运行)。 32位exe无法加载64位程序集。
该程序集是一个32位程序集,转换器作为64位exe运行(如果您运行的是64位Windows,转换器将以64位运行)。 64位exe无法加载32位程序集。您可以通过使用Microsoft的CorFlags.exe工具强制转换器作为32位exe运行来解决此问题。有关使用CorFlags的逐步说明,请参见下文。
如果上述原因均不适用,并且程序集不需要安装,您可以将其转发给我们的zip文件,以测试它未加载的原因。
使用CorFlags
这应仅用于强制转换器作为32位exe运行,以加载32位程序集。
1.关闭转换器。
2.如果未以管理员身份运行,请在转换器exe文件上设置写入权限:
转到转换器exe所在的位置 - 通常位于C: Program Files Tangible Software Solutions 中。
右键单击exe文件,然后选择“属性”。
在安全性选项卡上,选择“用户..”,单击“编辑”并为此项目授予写入权限。
3.运行CorFlags:
打开命令提示符窗口并键入CorFlags命令。
例如,从以下列表中选择:
CorFlags.exe“Instant CSharp.exe”/ 32BITREQ +
CorFlags.exe“Instant VB.exe”/ 32BITREQ +
CorFlags.exe“C ++到C#Converter.exe”/ 32BITREQ +
CorFlags.exe“C ++ to Java Converter.exe”/ 32BITREQ +
CorFlags.exe“C ++ to VB Converter.exe”/ 32BITREQ +
CorFlags.exe“C#to C ++ Converter.exe”/ 32BITREQ +
CorFlags.exe“CSharp to Java Converter.exe”/ 32BITREQ +
CorFlags.exe“Java to C ++ Converter.exe”/ 32BITREQ +
CorFlags.exe“Java to C#Converter.exe”/ 32BITREQ +
CorFlags.exe“Java to VB Converter.exe”/ 32BITREQ +
CorFlags.exe“VB到C ++ Converter.exe”/ 32BITREQ +
CorFlags.exe“VB to Java Converter.exe”/ 32BITREQ +
(由于转换器exe文件名在其名称中有空格,因此需要用引号括起来)