2013-04-22 136 views
0

我试图创建一个编译另一个程序一堆的程序,每次在其中一个类源文件(如硬编码配置)中调整一些常量变量。C#编译Visual Studio程序

我需要编译程序(一个c#visual studio项目,如果有帮助的话)。这是如何完成的?

+1

'每次调整其中一个类源文件中的某些常量变量(如硬编码配置)。“ - 听起来你最好使用[T4](http:// msdn.microsoft.com/en-us/library/vstudio/bb126445.aspx) – 2013-04-22 22:30:14

+0

您会在[google上找到很多答案](https://www.google.com/search?q=c%23+compile+方案&水溶液= F&OQ = C%23 +编译+方案&AQS = chrome.0.57j58j62l3.6012j0&的SourceID =铬&即= UTF-8#安全=关闭&sclient = PSY-AB&q = C%23 +编译+运行和OQ = C%23 +编译+运行&gs_l = SERP .3..0j0i22i30l3.11474.12493.1.12578.10.9.0.0.0.0.175.817.5j4.9.0 ... 0.0 ... 1c.1.9.psy-ab.ayx2_0oXEXM&PBX = 1&BAV = on.2,or.r_cp.r_qf。 &bvm = bv.45512109,d.cGE&fp = d78f862414922e23&biw = 1262&bih = 657)。如果你有更具体的问题,我建议你从那里开始回来。 – 2013-04-22 22:30:34

+0

如果你问我在c#中做这样的事情,它基本上是一个荣耀的批处理脚本 – 2013-04-22 22:31:40

回答

3

你可以对C#编译器在调用多种方式:

但是,你在做什么听起来像是一个问题的错误解决方案。将它作为一个变量并通过命令行参数,应用程序设置或从经过身份验证的Web服务器下载这些变量会更有意义。

+0

这样做的好处是可执行文件的模糊处理已完成 - 是否有方法可以在不重新编译的情况下更改特定于已编译产品的配置变量? – 2013-04-22 22:34:07

+3

您可以使用应用程序设置。这里的问题是,如果你试图混淆你的代码,给人们多个版本差别很小的版本实际上会使它更容易被破解。如果这是一个防拷贝的东西,我认为业界已经决定试图隐藏代码通常是浪费时间。这些天我们做一些事情,比如让人们注册 - “如果没有Facebook账户,你就不能使用它”,这是非常好的版权保护。然后你把所有的数据放在服务器上,链接到这个Facebook账户,所以这个可执行文件的副本本身是无用的。 – Jasmine 2013-04-22 22:41:48

+0

如果人们改变价值,就没有问题。这个想法仅仅是为每个exe编译的特定常量。 – 2013-04-22 22:43:04

1

你可以把使用Process.Start

可执行文件被称为CSC.EXE,通常位于C .NET编译:\ WINDOWS \ Microsoft.NET \框架\ vX.X.XXX

0

编辑:我复制/粘贴的示例是不正确的。我期望提供的选项是使用CompileAssemblyFromFile。可以获得冷码示例here

+0

该代码不会编译任何内容。它输出源代码。 – Jasmine 2013-04-22 22:34:51

+0

@Jasmine是的,我意识到,在我提交 – galets 2013-04-22 22:41:31

+0

LOL后,我已经完成了。当我打算链接到文档时,发布了完全相似的链接,飞机照片或其他内容。 – Jasmine 2013-04-22 22:49:33