有人看到以下知道解决方法吗?
问题
如果我有多个解决方案,每个解决方案包含多个项目。我所看到的是无法解析汇编引用。这似乎发生在我以前有一个已经构建但缺少引用的开放式解决方案时(我忘了构建它)。然后我打开将构建缺失引用的解决方案并进行构建。有时这个解决方案无法构建,即使它已经成功构建过去。
错误消息
我看到以下内容:
Target ResolveAssemblyReferences:
/Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/4.0/Microsoft.Common.targets: warning : Reference ‘xxxx, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL' not resolved
For searchpath {CandidateAssemblyFiles}
Warning: {CandidateAssemblyFiles} not supported currently
For searchpath {HintPathFromItem}
For searchpath {TargetFrameworkDirectory}
Considered target framework dir /Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/4.5, assembly named ‘xxxx' not found.
Considered target framework dir /Library/Frameworks/Mono.framework/Versions/3.2.6/lib/mono/4.5/Facades/, assembly named ‘xxxx' not found.
For searchpath {PkgConfig}
Considered xxxx, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL, but could not find in any pkg-config files.
For searchpath {GAC}
Considered xxxx, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL, but could not find in the GAC.
For searchpath {RawFileName}
For searchpath ../../../bin/ <— This is where the xxxx.dll is but it doesn’t find it
现在,如果我“退出Xamarin”并在新的xamarin窗口中重新打开解决方案并进行构建,则上面的错误会消失,但是如果它有其他依赖它的项目,它们将会失败。例如,如果我的解决方案有三个具有以下依赖项的项目:
zzzz.dll depends on yyyy.dll depends on xxxx.dll
我看到的是yyyy.dll的构建将失败,上面的错误说它无法找到xxxx.dll。
使用相同的解决方案退出并重新打开新版本的Xamarin并简单地构建解决方案xxxx.dll和yyyy.dll都将构建,但zzzz.dll将失败,说它无法找到yyyy。 DLL。
现在使用相同的解决方案退出并重新开放新版本的Xamarin,只需构建解决方案,所有三个项目都将成功构建。
现在,如果我退出并重新打开Xamarin并使用缺少引用的原始解决方案,那么它将找到程序集。但是,如果它有多个相互依赖的项目(没有循环依赖),那么我必须经历退出并重新打开序列的次数与项目一样多(减去一个,因为第一个似乎总是构建)。