【问题标题】:What is the counterpart of java jar in msbuild?msbuild中java jar的对应物是什么?
【发布时间】:2013-07-17 06:10:06
【问题描述】:

我用apache ant编译我的java programs已经有一段时间了,现在的问题是我们必须学会在.Net Framework中编程。 我一直在为我的 csproj 在 ms build 中的构建过程而苦苦挣扎。我们的要求是create a build file 的程序只使用VisualStudio Command Promptnotepad++ 来创建proj 文件。

msbuild 中是否有任何任务可以在其中打包类似于 java jar 的文件?我在MsBuild task reference 中进行了搜索,但还没有找到任何东西。任何帮助将不胜感激,谢谢!

【问题讨论】:

  • csproj 是一种 msbuild 文件。您可以将它传递给命令行 msbuild.exe,它将创建一个 .net 程序集(通常是 .dll 或 exe)。找到 Msbuild C:\WINDOWS\Microsoft.NET\Framework\msbuild.exe your.csproj /t:Build

标签: java msbuild package task archive


【解决方案1】:

JAR 文件允许 Java 运行时有效地部署一组类及其相关资源。 JAR 文件中的元素可以被压缩,再加上在单个请求中下载整个应用程序的能力,使得下载 JAR 文件比单独下载许多未压缩的文件(形成单个 Java 应用程序)更方便。

当你构建一个 Dotnet 应用程序时,你通常会得到一组文件(一个 .exe 和多个 dll 作为简单的场景)。 这些文件被“压缩到一个通用文件中”...... DotNet 中不存在这个概念。 (Silverlight 除外,但那是另一回事……我相信这是一个“xap”文件)。

大多数人使用 Msbuild 任务将他们的文件打包在一起。 我使用这样的东西:

MSBuild and creating ZIP files

将我的“二进制文件”压缩到 1 个 zip 文件中,并将我的配置文件压缩到一个单独的 zip 文件中。

这是一种“穷人”的方法……但它确实有效。

所以没有直接的苹果与苹果的比较。

.......

这就是简单的解释。

当 .dll 驻留在 GAC 中时,情况就不同了。

编辑:::::::::

这是一个使用 MSBuild 压缩文件的扩展库示例。

How do I zip a folder in MSBuild?

这里有 2 个最常见的扩展库

http://msbuildtasks.tigris.org/

http://msbuildextensionpack.codeplex.com/

【讨论】:

  • 我觉得这很有帮助,但您使用的是 msbuild 的扩展版本吗?因为我在自己的msbuild的任务列表中似乎找不到Zip任务。
  • Msbuild 具有可用于压缩的“辅助任务”。让我找一个例子。
  • 对我的原始答案进行了编辑。
猜你喜欢
  • 2019-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-10
  • 2020-10-28
相关资源
最近更新 更多