Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户端环境中的MSBuild_C#_Msbuild - Fatal编程技术网

C# 客户端环境中的MSBuild

C# 客户端环境中的MSBuild,c#,msbuild,C#,Msbuild,我想知道是否有人给我一些可靠的建议。我正在尝试查看MSBuild是否适合用于客户端应用程序(已销售的商业产品)。例如,如果客户机上有.NET 4.0和我的程序,我希望用户能够创建屏幕保护程序并将其保存为EXE 到目前为止,我所看到的只是MSBuild被用于ASP.NET和受控环境中的生成计算机,但对于上述场景,“在野外”使用它是否合适?我无法建议它在您的特定情况下是否合适,但由于它包含在.NET Framework设置中,使用它是可靠的。我无法建议它在您的特定情况下是否合适,但由于它包含在.NE

我想知道是否有人给我一些可靠的建议。我正在尝试查看MSBuild是否适合用于客户端应用程序(已销售的商业产品)。例如,如果客户机上有.NET 4.0和我的程序,我希望用户能够创建屏幕保护程序并将其保存为EXE


到目前为止,我所看到的只是MSBuild被用于ASP.NET和受控环境中的生成计算机,但对于上述场景,“在野外”使用它是否合适?

我无法建议它在您的特定情况下是否合适,但由于它包含在.NET Framework设置中,使用它是可靠的。

我无法建议它在您的特定情况下是否合适,但由于它包含在.NET Framework设置中,因此使用它是可靠的。

Overkill


MSBuild非常适合管理具有许多相互依赖关系的复杂项目。如果您只想从一组简单的输入生成一个EXE,就像您使用的屏幕保护程序场景一样,我只需要使用或直接调用csc.EXE。

Overkill


MSBuild非常适合管理具有许多相互依赖关系的复杂项目。如果您只想从一组简单的输入生成一个EXE,就像您使用的屏幕保护程序场景一样,我只想使用或直接调用csc.EXE。

这里您需要问自己,您希望msbuild有多透明?我不建议使用命令行并向客户机提供这些命令和参数,但是如果你能屏蔽它,并且有一个好的表示层,可以隐藏所有的技术内容,那么这是一个非常好的主意

我当前的项目在安装时非常依赖msbuild,它工作得非常好,除非看到代码,否则没有人会知道


希望这能有所帮助。

在这里,您需要问自己,您希望msbuild有多透明?我不建议使用命令行并向客户机提供这些命令和参数,但是如果你能屏蔽它,并且有一个好的表示层,可以隐藏所有的技术内容,那么这是一个非常好的主意

我当前的项目在安装时非常依赖msbuild,它工作得非常好,除非看到代码,否则没有人会知道


希望这能有所帮助。

这是一个很好的观点。我不希望最终用户看到任何与开发相关的东西。我的应用程序将调用MSBuild,用户只能看到一个进度条。关于如何让最终用户看不见它,你有什么建议吗?这是一个很好的观点。我不希望最终用户看到任何与开发相关的东西。我的应用程序将调用MSBuild,用户只能看到一个进度条。关于如何让最终用户看不见它,您有什么建议吗?我想我不明白使用MSBuild和System.CodeDom.Compiler之间的主要区别?为什么一个会被用在另一个上面?MSBuild的杀伤力如何?@一比一获胜,这太过分了,因为您需要为客户端目标环境生成MSBuild脚本,而不是只运行带有所需参数的编译。MSBuild本质上是一种脚本语言/scirpt解析器,用于调用编译器和作为“完整生成过程”一部分可能需要的任何其他实用程序(例如,构建资源、复制文件、调用代码签名工具等)听起来您只需要生成一些输入,然后调用编译器,因此您不需要使用脚本语言来实现这一点,您可以保持它的简单性,只需通过其API(System.CodeDom.Compile)或其命令行实用程序(csc.exe)调用编译器即可。我想我不明白使用MSBuild和System.CodeDom.Compiler之间的主要区别?为什么要使用一个而不是另一个?MSBuild overkill如何?@Winner首先,这是一个overkill,因为您需要为客户端目标环境生成MSBuild脚本,而不是只运行带有所需参数的编译。MSBuild本质上是一种脚本语言/scirpt解析器,用于调用编译器和作为“完整构建过程”一部分可能需要的任何其他实用程序(例如,构建资源、复制文件、调用代码签名工具等)听起来您只需要生成一些输入,然后调用编译器,因此不需要使用脚本语言,您可以保持简单,只需通过其API(System.CodeDom.Compile)或其命令行实用程序(csc.exe)调用编译器即可。