问题标签 [fody]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
359 浏览

.net - Fody 插件 Validar 失败。无法从程序集 mscorlib 加载类型“Validar.ValidationTemplateAttribute”

我正在尝试使用Validar在我的课程中注入验证。我的解决方案由多个(目前为 5 个,未来可能会更多)项目组成,我想在其中注入验证。因此,我在其中一个中定义了我的ValidationTemplate类,并将其放置ValidationTemplateAttribute在每个程序集中,如下所示:

当我构建时,我收到一个我不理解的错误,但阻止了我更进一步:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets(268,9): error MC1000: Unknown build error, 'Could not load type 'Validar.ValidationTemplateAttribute' from assembly 'mscorlib, Version= 4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089'。'

我正在使用 Visual Studio 2013 专业更新 4,目标框架是 .Net 框架 4.5

如果它对这个问题有任何用处,我的实现ValidationTemplate如下所示:

我做错了什么,我该如何解决这个问题?

编辑: 来吧伙计们!真的没有人可以帮助我解决这个问题。我应该做一个测试解决方案来显示问题吗?请指教!我真的需要一个解决方案!Fody 通常工作得很好,在保持课堂整洁的同时为我节省了大量工作!

0 投票
1 回答
335 浏览

fody - Fody 和动态依赖更新(AssemblyResolve 事件)

我正在编写一个自动更新系统,其中 WPF App 动态加载其依赖项(dll)。我正在为此使用 AssemblyResolve 事件。然后我找到了 Costura.Fody,发现它简化了事情。但是,Fody 不允许加载更新版本的依赖项,例如,如果我有 Fody 嵌入的 dll v1.0.0.0,但会从 Web 服务器加载 v2.0.0.0。

Fody 中是否有一个针对 AssemblyResolve 事件的钩子,以便我可以加载我想要的任何依赖项,而不是 Fody 知道或建议的内容?

-pom-

0 投票
1 回答
341 浏览

c# - 在 Fody/Mono.Cecil 中获取 CustomAttribute 的 SequencePoint

我正在编写一个 Fody Addin,我能够注入我的代码并向用户提供错误消息。我能够确定指令的序列点,但我找不到找到 CustomAttributes 的序列点的方法。

我需要获取此信息以向调试器提供在何处查找错误位置的提示,以防错误应用了某个属性。

所以基本上我有这样的事情:

现在我想获取 MyAttribute 属性的 SequencePoint。

**编辑:**当我投票失败时(没有任何信息为什么)这里有一些额外的信息。我可以像这样访问指令的序列点:

这适用于说明,但是当我访问属性时,我不确定如何获取序列点:

0 投票
1 回答
307 浏览

c# - Fody/Mono.Cecil:在调试器中隐藏行

我正在开发一个 fody 插件(使用 mono.cecil)并在方法的开头注入一些代码。我希望调试器跳过注入的代码。

我在这里找到了一些信息:http: //blogs.msdn.com/b/abhinaba/archive/2005/10/10/479016.aspx

所以我尝试将注入指令的序列点更新为行号0xfeefee。

我正在使用以下代码执行此操作:

这应该与 NullGuard.Fody 项目使用的代码基本相同,但它不起作用。在尝试调试注入代码的方法时,我仍然从 Visual Studio 获得源不可用的信息。

我是否需要做任何其他事情才能更新 pdb 文件?

0 投票
1 回答
332 浏览

.net - 使用编译时方面来实现抽象接口

据我了解,所有编译时 .NET 面向方面的编程框架(例如 PostSharp 或 Fody)只能处理已经成功编译的代码。

如果您想使用这些框架中的方面来实现抽象接口的成员,这会带来一个障碍,因为要修改的类在构建后步骤之后才会实现接口。如果由于缺少接口而导致编译阶段失败,则构建后步骤永远不会运行。

例如,编写 WPF MVVM 应用程序时,我的视图模型有一个抽象接口。接口规定视图模型必须实现一个命令,例如:

我想创建这个视图模型抽象接口的具体实现,使用 Commander.Fody 来实现 ICommand 实例。这是我尝试过的:

这会产生错误消息“'TestVM' 没有实现接口成员 'ITestVM.SomeCommand'”

我相信 Commander.Fody创建一个名为 SomeCommand 的 ICommand 实例,但它永远没有机会这样做。

有没有办法使用编译时面向方面的框架来实现抽象接口?我读过“AOP.NET”一书,关于编译时编织的部分(第 183-190 页)没有讨论这种限制。

0 投票
4 回答
4523 浏览

nuget - 如何通过 NuGet 正确删除 PropertyChanged.Fody

我打算在我的一个项目中使用 Fody.PropertyChanged,它是通过 NuGet 正确添加的:

我意识到,它在错误的项目中,所以我使用了卸载命令:

之后,我将其添加到正确的项目中。

现在,当我尝试构建我的解决方案时,我在不应该安装 Fody的初始项目中收到以下错误:

Fody:你似乎没有配置任何织布工。尝试将 Fody nuget 包添加到您的项目中。在这里查看 http://nuget.org/packages?q=fody以获取可用包的列表。

项目中没有对 Fody 的引用,我从packages.config文件中删除了 Fody 引用,也没有 XML 文件。

我还应该做什么?

0 投票
1 回答
222 浏览

c# - Catel + Fody/LoadAssembliesOnStartup + Fody/ModuleInit 和加载模块的顺序

我使用 Catel + Fody/LoadAssembliesOnStartup + Fody/ModuleInit。我想知道,如何指定模块的加载顺序?
我想为此使用 serviceLocator.RegisterTypeAndInstantiate 我需要按特定顺序加载模块。我怎样才能做到这一点?

0 投票
1 回答
1520 浏览

c# - 如何在不使用 msbuild 的情况下使用 Fody 编织已编译的 dll?

我了解默认情况下,Fody 将程序集编织为 Visual Studio 中的构建后步骤。

但是,我有一个自定义工具,可以使用 csc.exe(Roslyn 编译器)直接编译项目。是否可以将 Fody 作为可执行文件/服务而不是构建后步骤运行?

像这样的东西:fody.exe target.dll fody_settings.xml

0 投票
0 回答
183 浏览

c# - 用 fody 编织第三方 dll

我想写一个Fody插件,它可以让我编织一个第三方 dll。

可能吗?

阅读来自不同插件的文档和源代码,我还没有找到任何方法。fody 似乎只能编织引用插件的程序集(使用在构建时填充的 ModuleDefinition 属性)。

由于 fody 依赖于 Mono.Cecil,我认为这在技术上是可行的,但似乎根本没有考虑我的用例。

坦克

0 投票
1 回答
565 浏览

c# - ModuleInit Fody Initialize 未调用

我有一个 WPF 应用程序,它加载了 3 个包含应用程序扩展的不同程序集。我已将 ModuleInit.Fody 添加到 3 个项目中,现在只需放置一个 Console.WriteLine("module")

我用这段代码加载程序集

我究竟做错了什么?谢谢

UPDATE1 你可以在这里找到一个演示