【问题标题】:Creating a C# Portable Class Library using command line csc.exe?使用命令行 csc.exe 创建 C# 可移植类库?
【发布时间】:2012-07-10 23:41:41
【问题描述】:

我还没有找到任何关于如何做到这一点的信息,或者即使它是可能的。

http://msdn.microsoft.com/en-us/library/e13syb43

没有提到任何关于构建可移植类库的内容,并且

http://msdn.microsoft.com/en-us/library/gg597391.aspx

没有提及任何关于命令行界面的内容。

有其他人尝试过这样做并找到解决方案/发现这是不可能的吗?

【问题讨论】:

  • 任何使用 PCL 的库都是可移植的,如果它本身不依赖于 pinvoke 或 COM 依赖项引入的平台实现细节。

标签: c# .net windows windows-phone-7 dll


【解决方案1】:

可以通过命令行构建可移植库,您只需要传递正确的框架引用。这些决定了您将支持哪些平台。

首先,您想通过命令行执行此操作的原因是因为您没有 Visual Studio Pro 吗?如果是这样,那就有点棘手了。

【讨论】:

    【解决方案2】:

    通常你会从命令行使用 MSBuild 构建 csproj,而不是手动调用 csc.exe。

    另一方面,该项目似乎是一组程序集 - 您应该能够通过 csc 命令行提供正确的引用集(可能还需要禁用默认库)并手动构建。

    【讨论】:

    • 我可能完全遗漏了一些东西,但是当我构建dll 使用 csc.exe?或者这纯粹是一个 MSBuild 问题,只要不使用不可用的库,csc.exe 的 dll 就可以针对任何平台?
    • 我不知道特定的“可移植类库”解决方案,但通常使用 MSBuild 构建会产生与在 VS 中构建相同的输出。您可以检查从 VS 构建时最终引用的库,看看是否可以通过 CSC/MSBuild 获得相同的输出。
    • @LiHaoyi 只能在4.0及以上(4.5)框架上使用可移植类库。既然 VS2010 有一个模板,那为什么要在命令行中构建呢?
    • 我想我没有从命令行构建它,但它可以很好地与我所有其他基于命令行的工具一起使用。跨度>
    【解决方案3】:

    http://msdn.microsoft.com/en-us/library/gg597391.aspx 会告诉你哪些支持程序集可以进入你的 dll,或者可以部署到哪里。

    http://videojugpages.com/pages/610-Microsoft-Visual-C-Express-Setup 此链接将向您展示如何在命令行创建 dll。这很简单,一般的 dll 与可移植类型没有什么不同,除了它可以部署在哪里以及它可以依赖什么。希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多