2013-04-22 134 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