2013-11-14 62 views
1

我試圖創建一個命令行編譯命令,它也將更改其中一個代碼值。C#命令行編譯 - 更改incode值

我在編譯代碼時嵌入了代碼中的用戶令牌,因此他/她可以在下載後立即使用該應用程序。

在我的代碼

我有以下行:

UserToken = HWMX-HJPL-L1TN-E62Y-2JCVK; 

目前我做了一個醜陋的解決辦法 - 我創建了一個腳本,尋找一個純文本「HWMX-HJPL-L1TN-E62Y-2JCVK」將其替換爲新的令牌,然後調用編譯器來創建可執行文件。

是否有一種「正常」的方式,通過將命令行傳遞給編譯器來直接更改此值?

+0

將代碼放在外部文件中不是更好嗎?如果外部文件不存在,例如在用戶下載應用程序之後,您總是可以回退硬編碼值。 – CompuChip

回答

0

我會做如下:

  1. 創建一個資源文件的項目
  2. 添加一個普通的文本文件作爲一種資源的資源文件
  3. 將用戶令牌資源文件,作爲唯一的內容
  4. 閱讀用戶令牌如下:

    string UserToken = Resources.Default.UserTokenFile; 
    
  5. 在編譯項目之前創建一個簡單地用新用戶令牌覆蓋文件的腳本