【发布时间】:2012-09-13 00:45:20
【问题描述】:
出于某种原因,我需要(忍受我)使用 WinRT 版本的 System.Text.Encoding 命名空间。我可以手动添加对程序集的引用等,但它仍将使用 mscorlib 的实现。而且我显然无法完全删除 mscorlib。
如何强制我的项目使用 WinRT 的 System.Text.Encoding.dll 而不是 mscorlib?
基本上,我需要它来生成这段IL:
call class [System.Text.Encoding]System.Text.Encoding [System.Text.Encoding]System.Text.Encoding::get_UTF8()
而不是这个:
call class [mscorlib]System.Text.Encoding [mscorlib]System.Text.Encoding::get_UTF8()
【问题讨论】:
-
Windows 应用商店中是否允许这样的应用同时引用这两个程序集?
-
@JeffYates 不,我不需要这样。
-
只是好奇,谢谢。有关如何为您解决此问题的详细信息,请参阅我的答案。
-
针对 WinRT 的类库不会使用您想要的版本吗? (我不确定您是否可以这样定位它,但是在创建可移植库时可以选择。)
标签: c# .net namespaces conflict il