6

在下面的示例中......而不是为 .Net“v4.0”编译,应该提供什么来编译 PCL 库?

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

2 回答 2

2

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

如果在 Visual Studio 中创建 PCL,则可以看到 PCL 引用程序集的路径,在解决方案资源管理器中选择“.NET Portable Subset”引用,然后查看属性窗口中的 Path 属性。(路径将根据您在 PCL 中定位的平台集而有所不同)。

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

于 2013-11-22T00:54:09.147 回答
0

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

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

于 2014-11-12T02:36:29.490 回答