C# 无法解析对程序集的依赖关系';夏普邮政';因为它没有预加载
我的项目结构C# 无法解析对程序集的依赖关系';夏普邮政';因为它没有预加载,c#,.net,msbuild,postsharp,C#,.net,Msbuild,Postsharp,我的项目结构 A.dll,它通过NuGet安装并使用PostSharp B.exe,它引用A,不使用PostSharp 编辑:我创建了一个测试解决方案,以查看是否可以重新创建问题,错误消失了,因此它似乎是原始项目中的其他构建时过程。我还不知道是什么 我的问题 目前,这会导致B的编译错误 未知生成错误,“无法解析对程序集的依赖关系”PostSharp,版本=3.0.40.9,区域性=中性,PublicKeyToken=b13fd38b8f9c99d7,因为它尚未预加载。使用Reflectio
- A.dll,它通过NuGet安装并使用PostSharp
- B.exe,它引用A,不使用PostSharp
我的问题 目前,这会导致B的编译错误 未知生成错误,“无法解析对程序集的依赖关系”PostSharp,版本=3.0.40.9,区域性=中性,PublicKeyToken=b13fd38b8f9c99d7,因为它尚未预加载。使用ReflectionOnly API时,必须通过ReflectionOnlyAssemblyResolve事件预加载或按需加载依赖程序集。” 将PostSharp安装到B会导致新的警告 模块“B.exe”不包含任何方面或其他转换。为了改进构建时间性能,考虑通过设置项目中的编译符号(AKA常量)“SkIPPASTHARP”或设置MSBudid属性“SkIPPASTHARAP= true”。 如果在项目属性中禁用PostSharp,现在会出现此错误 #错误:“生成过程中未引入PostSharp。如果NuGet刚刚恢复了PostSharp软件包,则需要重建解决方案。” 这来自requirePostSharp.cs,它安装在每个PostSharp项目中
我的目标 我需要消除所有错误和警告
我提出的解决方案 我想如果我能消除第一个错误,并将PostSharp添加到B中,一切都会好起来。但我不知道如何修复它
我的问题
当项目B是WPF应用程序时,可以复制所描述的构建错误。在这种情况下,问题将由XAML编译器引起-它尝试加载依赖项(A)引用的程序集,如果不成功,则失败 为了避免生成错误,还需要将PostSharp引用添加到B项目中。当然,你会收到上面提到的警告信息
从版本3.1开始,PostSharp不再向项目中添加requirePostSharp.cs文件,而是在msbuild脚本中执行验证。因此,您可以在项目B属性中安全地禁用PostSharp。这样可以避免错误和警告信息。即使已经过了几年,这对我仍然有效。谢谢