Visual Studio 2017让我知道今天早上有对Fody版本5的升级。我接受了Fody和PropertyChanged.Fody并对其进行了NuGet软件包更新。
现在,我的项目/解决方案将不再构建。
错误是:
“ Fody仅在MSBuild 16及更高版本上受支持。当前版本:15。”
我尝试卸载,关闭VS,然后重新安装均无济于事。
我一直在尝试在我的Xamarin android proyect中使用Realm,其中一个依赖是Fody,每次我尝试运行我的应用程序时都会显示以下错误:错误MSB4044:"Fody.WeavingTask"任务没有给出一个值必需参数"SolutionDir".
我一直在寻找修复,但找不到它,你知道如何赋予它一个价值吗?它在哪里?
对于领域块包我已经创建了FodyWeavers.xml
我正在使用Costura.Fody将所有dll嵌入到我的应用程序集中.
有没有办法在Debug构建模式下禁用Costura.Fody?如何使Costura.Fody仅在Release或自定义构建配置中工作?
我有超过 100 个项目的 Visual Studio 解决方案。其中五个安装了 Fody 的 nuget 包(版本 6.0.3)。当我尝试构建解决方案时,出现以下错误:
Fody.6.3.0\build\Fody.targets(38,12):错误 MSB4086:在“$(MsBuildMajorVersion)”上尝试了数值比较,结果为“”而不是数字,条件为“($(MsBuildMajorVersion)” < 16)"
在这次失败的构建之后,我尝试重复构建,经过多次尝试(有时是一次,有时是五次),构建成功完成。我试图重新安装所有 nuget 包,清除 nuget 缓存,重新安装 Visual Studio,设置MSBUILDDISABLENODEREUSE变量,但没有任何帮助。
Visual Studio 2019 的版本为 16.8.4,所有项目的 .NET Framework 版本均为 4.8。
更新:
问题只存在于我的机器上。在同事的工作站上,一切正常。我发现在构建失败后应该重新启动 Visual Studio 并且构建过程成功的提示。这个技巧对我来说是一个足够的解决方法。
**这是Visual Studio 2013中的一个问题.
我得到的错误是巨大的,而且大多无用,但其关键在于
Error 130 Fody: Could not load 'ModuleWeaver' from 'PropertyChanged.Fody, Version=1.50.3.0, Culture=neutral, PublicKeyToken=null' due to ReflectionTypeLoadException.
It is possible you need to update the package.
exception.LoaderExceptions:
System.IO.FileLoadException: Could not load file or assembly 'Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
Run Code Online (Sandbox Code Playgroud)
再一次,因为没有变化,我一般不知道它的问题是什么.它正在寻找的DLL坐在它一直坐的同一个地方.
编辑:显然在这一点上它已经厌倦了吐出那个错误所以它捏造了一个新错误
Error 42 The "Fody.WeavingTask" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file …Run Code Online (Sandbox Code Playgroud) 在最终的编织装配中是否有任何Fody痕迹或其依赖关系(参考)?
我在Mac上的Xamarin Studio中构建PCL时遇到了问题.它在调试模式下工作正常但是fody在发布模式下抛出异常.
构建期间的异常如下所示.
Error: Fody: An unhandled exception occurred:
Exception:
Symbol file `XXX/obj/Release/XXX.dll.mdb' does not match assembly `XXX/obj/Release/XXX.dll'
StackTrace:
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.CheckGuidMatch (Guid other, System.String filename, System.String assembly) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile..ctor (System.String filename, Mono.Cecil.ModuleDefinition module) [0x00000] in <filename unknown>:0
at Mono.CompilerServices.SymbolWriter.MonoSymbolFile.ReadSymbolFile (Mono.Cecil.ModuleDefinition module, System.String filename) [0x00000] in <filename unknown>:0
at Mono.Cecil.Mdb.MdbReaderProvider.GetSymbolReader (Mono.Cecil.ModuleDefinition module, System.String fileName) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleReader.ReadSymbols (Mono.Cecil.ModuleDefinition module, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleReader.CreateModuleFrom (Mono.Cecil.PE.Image image, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename …Run Code Online (Sandbox Code Playgroud) 我正在使用 MEF 为我的 WPF 应用程序创建“插件”。其中一些插件我想直接嵌入到 EXE 文件中,因为 EXE 需要是独立的。我正在使用 Fody 的 Costura 将资源与我的所有其他参考资料一起嵌入。由于 exe 文件需要独立,我无法为这些插件创建目录并使用 DirectoyCatalog
无论如何我可以从嵌入的资源加载程序集,或者只是指定程序集名称,例如:
catalog.Catalogs.Add(new AssemblyCatalog("My.Assembly.Name));
Run Code Online (Sandbox Code Playgroud)
我曾尝试遍历 Manifest 资源,但这些资源似乎已被 Fody 压缩:
var resourceNames = GetType().Assembly.GetManifestResourceNames();
foreach (var resourceName in resourceNames)
Run Code Online (Sandbox Code Playgroud)
任何帮助/建议表示赞赏。
我正在尝试使用 MethodDevorator.Fody 来启用基于属性的方法拦截。
https://github.com/Fody/MethodDecorator/blob/master/readme.md#your-code
我想创建一个可重用的组件(nuget 包),期望消费者提供注入到服务集合中的配置信息。但我没有找到任何标准方法来将依赖项注入属性请提供任何解决方法来实现此目的