我正在研究可移植类库(PCL)并试图在其中实现 MEF。我使用了 Nuget 的 System.Composition。当我为 vsix(Visual Studio 扩展)构建和打包时,它不会打包并将这些 dll 放置到扩展文件夹(C:\Users\UserName\AppData\Local\Microsoft\VisualStudio\14.0Exp\Extensions\ExtensionName\AppName\你的应用程序的版本)。当我手动将这些库放在这个文件夹中时,它工作正常。有人可以提出一个很好的解决方案来解决这个问题。我正在为 Roslyn Analyzers 编写它并创建一个 nuget 包。我再次面临同样的问题,即使我将这些库打包在一起。
问问题
206 次
2 回答
0
我找到了解决方案,想到了分享。欢迎大家指正和建议。对于 Vsix 扩展,我将这些库添加为本地资产(VisualStudio.Assembly)。
对于包,Assembly.Load("AssemblyName") 试图从所有可能的位置加载库,例如“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies”等等。所以我把它放在那里,它正在加载。我知道这不是最好的解决方案。非常欢迎您提出建议。
于 2016-04-13T16:04:53.820 回答
0
在 VSIX 对 MEF DLL 的引用中将 Copy Local 设置为 true。
于 2016-04-13T13:40:19.063 回答