我正在尝试使用下载附带的可执行文件为 NHibernate.dll 生成一个moles程序集,但是生成的代码带有一些我不知道如何修复的构建错误(如果它甚至可能的话)。
这就是我所做的:
- 将 NHibernate.dll 和 Iesi.Collections.dll 复制到一个新目录。
- 站在那个目录下,运行
../pathtomoles/moles.exe NHibernate.dll
Moles 然后输出以下内容:
Microsoft Moles v0.94.51023.0 - http://research.microsoft.com/moles - .NET v4.0。 30319 版权所有 (c) Microsoft Corporation 2007-2010。版权所有。 00:00:00.00> 摩尔 痣:信息:元数据:加载 D:\ ... \NHibernate.dll 痣:信息:编译:输出程序集名称:NHibernate.Moles 痣:信息:代码:找到 2018 年类型 痣:信息:代码:可见性:导出或组装(NHibernate.Moles) 00:00:01.87> 代码生成 Moles : info : code : 在 D:\ ... \obj\moles\nh\mgcs 生成代码 00:00:02.05> 存根生成 痣:信息:代码:生成 1361 个存根类型 00:00:05.68> 痣的产生 痣:信息:代码:生成 1552 种痣类型 00:00:24.13> 编译
并且构建失败并出现以下错误:
错误 CS0122:“Remotion.Data.Linq.Clauses.ResultOperatorBase” 由于其保护级别而无法访问 错误 CS0703:可访问性不一致:约束类型 'Remotion.Data.Linq.Clauses.ResultOperatorBase' 比 'NHibernate.Linq.Visitors.ResultOperatorProcessors.Moles.MResultOperatorProcessor'
我已经打开了这个项目,看看我是否可以自己修复错误,但事实证明 Moles 在一个代码文件中生成所有内容,这非常大(构建错误发生在第 333100 和 333102 行......)所以 Visual Studio打开时或多或少的崩溃。
无论如何要修复这个生成错误?我已经查看了 moles.exe 的选项,但我没有得到太多。
有没有其他人已经生成了 NHibernate.Moles.dll?如果是这样,我在哪里可以找到它?由于.
在谷歌搜索中表示“任何单词分隔符”,它并没有给我太多......
完整的构建输出,供参考:
- - 输出 构建开始于 2011-07-05 10:19:03。 项目“D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies \NHibernate Moles\obj\moles\nh\mgcsproj" 在节点 1 上(默认目标)。 PrepareForBuild: 创建目录“b\”。 创建目录“o\”。 GenerateTargetFrameworkMonikerAttribute: 跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件 es 相对于输入文件是最新的。 核心编译: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /unsafe+ /no 警告:1587,1591,1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /doc:b\NHibernat e.Moles.xml /define:TRACE /reference:ic="D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\ Microsoft Moles\PublicAssemblies\NHibernate Moles\Iesi.Collections.dll" /referen ce:"C:\Program Files (x86)\Common Files\Microsoft Shared\ExtendedReflection\0.94 .51023.0\bin\Microsoft.ExtendedReflection.dll" /reference:mmf="C:\Program Files (x86)\Microsoft Moles\PublicAssemblies\Microsoft.Moles.Framework.dll" /reference :"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ v4.0\mscorlib.dll" /reference:nh="D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microso 英尺 Moles\PublicAssemblies\NHibernate Moles\NHibernate.dll" /reference:"C:\Progra m 文件 (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System .Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fra mework\.NETFramework\v4.0\System.Data.dll" /reference:"C:\Program Files (x86)\Re 参考 Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" /reference :ssm="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramew ork\v4.0\System.ServiceModel.dll" /reference:st="C:\Program Files (x86)\Referenc e 程序集\Microsoft\Framework\.NETFramework\v4.0\System.Transactions.dll" /re reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFra mework\v4.0\System.Xml.dll" /debug:pdbonly /keyfile:mgsnk /optimize+ /out:o\NH ibernate.Moles.dll /target:library mgcs "C:\Users\Tomas\AppData\Local\Temp\.NE TFramework,Version=v4.0.AssemblyAttributes.cs" mgcs(333102,50): 错误 CS0122: 'Remotion.Data.Linq.Clauses.ResultOperatorBase' 由于其保护级别而无法访问 [D:\Projects\NCVIB-GIT\NCVIB\src\Ve ndor\Microsoft Moles\PublicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj] mgcs(333100,26):错误CS0703:不一致的可访问性:约束类型'Re motion.Data.Linq.Clauses.ResultOperatorBase' 比 'NHibernate 更难访问 .Linq.Visitors.ResultOperatorProcessors.Moles.MResultOperatorProcessor' [D:\P rojects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibernate M oles\obj\moles\nh\mgcsproj] 完成构建项目“D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\Pu blicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj"(默认目标)——FA 发光二极管。 构建失败。 "D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibern 吃了 Moles\obj\moles\nh\mgcsproj" (默认目标) (1) -> (CoreCompile 目标)-> mgcs(333102,50): 错误 CS0122: 'Remotion.Data.Linq.Clauses.ResultOperatorBas e' 由于其保护级别而无法访问 [D:\Projects\NCVIB-GIT\NCVIB\src\ 供应商\Microsoft Moles\PublicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj ] mgcs(333100,26):错误CS0703:不一致的可访问性:约束类型' Remotion.Data.Linq.Clauses.ResultOperatorBase' 比'NHiberna 更难访问 te.Linq.Visitors.ResultOperatorProcessors.Moles.MResultOperatorProcessor' [D: \Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibernate 痣\obj\痣\nh\mgcsproj] 0 个警告 2 个错误 经过时间 00:00:03.24 - - 环境 痣:警告:编译:项目编译失败,退出代码 1 痣:警告:编译:编译失败,重试没有 Code Co 合同 - - 输出 构建开始于 2011-07-05 10:19:06。 项目“D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies \NHibernate Moles\obj\moles\nh\mgcsproj" 在节点 1 上(默认目标)。 GenerateTargetFrameworkMonikerAttribute: 跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有输出文件 es 相对于输入文件是最新的。 核心编译: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /unsafe+ /no 警告:1587,1591,1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /doc:b\NHibernat e.Moles.xml /define:TRACE /reference:ic="D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\ Microsoft Moles\PublicAssemblies\NHibernate Moles\Iesi.Collections.dll" /referen ce:"C:\Program Files (x86)\Common Files\Microsoft Shared\ExtendedReflection\0.94 .51023.0\bin\Microsoft.ExtendedReflection.dll" /reference:mmf="C:\Program Files (x86)\Microsoft Moles\PublicAssemblies\Microsoft.Moles.Framework.dll" /reference :"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\ v4.0\mscorlib.dll" /reference:nh="D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microso 英尺 Moles\PublicAssemblies\NHibernate Moles\NHibernate.dll" /reference:"C:\Progra m 文件 (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System .Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Fra mework\.NETFramework\v4.0\System.Data.dll" /reference:"C:\Program Files (x86)\Re 参考 Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" /reference :ssm="C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramew ork\v4.0\System.ServiceModel.dll" /reference:st="C:\Program Files (x86)\Referenc e 程序集\Microsoft\Framework\.NETFramework\v4.0\System.Transactions.dll" /re reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFra mework\v4.0\System.Xml.dll" /debug:pdbonly /keyfile:mgsnk /optimize+ /out:o\NH ibernate.Moles.dll /target:library mgcs "C:\Users\Tomas\AppData\Local\Temp\.NE TFramework,Version=v4.0.AssemblyAttributes.cs" mgcs(333102,50): 错误 CS0122: 'Remotion.Data.Linq.Clauses.ResultOperatorBase' 由于其保护级别而无法访问 [D:\Projects\NCVIB-GIT\NCVIB\src\Ve ndor\Microsoft Moles\PublicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj] mgcs(333100,26):错误CS0703:不一致的可访问性:约束类型'Re motion.Data.Linq.Clauses.ResultOperatorBase' 比 'NHibernate 更难访问 .Linq.Visitors.ResultOperatorProcessors.Moles.MResultOperatorProcessor' [D:\P rojects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibernate M oles\obj\moles\nh\mgcsproj] 完成构建项目“D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\Pu blicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj"(默认目标)——FA 发光二极管。 构建失败。 "D:\Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibern 吃了 Moles\obj\moles\nh\mgcsproj" (默认目标) (1) -> (CoreCompile 目标)-> mgcs(333102,50): 错误 CS0122: 'Remotion.Data.Linq.Clauses.ResultOperatorBas e' 由于其保护级别而无法访问 [D:\Projects\NCVIB-GIT\NCVIB\src\ 供应商\Microsoft Moles\PublicAssemblies\NHibernate Moles\obj\moles\nh\mgcsproj ] mgcs(333100,26):错误CS0703:不一致的可访问性:约束类型' Remotion.Data.Linq.Clauses.ResultOperatorBase' 比'NHiberna 更难访问 te.Linq.Visitors.ResultOperatorProcessors.Moles.MResultOperatorProcessor' [D: \Projects\NCVIB-GIT\NCVIB\src\Vendor\Microsoft Moles\PublicAssemblies\NHibernate 痣\obj\痣\nh\mgcsproj] 0 个警告 2 个错误 经过时间 00:00:02.76