在运行时编译可移植类库



在下面的例子中。。。应该提供什么来编译PCL库,而不是为.Net"v4.0"进行编译?

var compiler = new CSharpCodeProvider(new Dictionary<string, string>
{
   {"CompilerVersion", "v4.0"}
});

从这个角度来看,可移植类库只是根据一组可移植引用程序集编译的库,而不是针对特定框架的实现或引用程序集。

如果在Visual Studio中创建PCL,在解决方案资源管理器中选择".NET Portable Subset"引用,并在属性窗口中查看path属性,则可以查看PCL引用程序集的路径。(根据PCL中的目标平台集,路径会有所不同)。

将编译器将使用的引用设置为PCL引用路径中的所有DLL,结果应该是可移植库。如果有默认包含的引用(即mscorlib),那么您还需要禁用它们。

我不认为你"告诉"C sharp编译器将某些东西编译为PCL。相反,这些信息嵌入在.csproj文件中。例如,如果编辑.csproj并为项目类型添加guid {786C830F-07A1-408B-BD7F-6EE04809D6DB},它将被编译为PCL。

该网站定义了许多指南:http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs

相关内容

  • 没有找到相关文章

最新更新