【问题标题】:Compiling Portable Class Library at run-time在运行时编译可移植类库
【发布时间】:2013-11-21 23:21:39
【问题描述】:

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

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

【问题讨论】:

    标签: .net portable-class-library csharpcodeprovider


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      这个网站定义了很多 guid:http://www.codeproject.com/Reference/720512/List-of-Visual-Studio-Project-Type-GUIDs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多