2016-06-22 85 views
2

我有兩個簡單的獨立命令行程序。每個文件都是一個源文件(例如Program1.cs & Program2.cs),每個文件都包含一個static void Main(..),每個文件都應該編譯爲一個獨立的二進制文件。他們是相關的,所以我想保持在一個簡單的目錄。從一個.Net Core項目創建兩個獨立的exes?

隨着.Net預核心,它很容易建立與csc Program<x>.cs &出來的EXE。

有沒有一種方法可以在.Net Core中進行復制?或者這是否意味着2個獨立的項目?到目前爲止,我找不到一種方法在一個項目中生成2個二進制文件,每個文件都有一個單獨的入口點。

謝謝。

-

  • 這些都是簡單的演示。我知道這可能不代表典型的項目,其中會有多個源文件和一個入口點。但是,縮小到簡單情況的能力也很重要。
+0

不知道您是否可以使用單個項目來完成此任務,但是您可以使用單個解決方案來完成此任務。將您的課程放在解決方案中的不同項目中, 然後:Solution Properties - > Common Properties - > Startup Project - > Multiple Startup Projects。 – user5226582

+0

@ user5226582雖然不會將它們構建到相同的目錄中。它只會在他碰到F5時啓動它們。 –

+0

你可以自動化:[使用後期構建事件將文件從一個項目複製到另一個項目](https://stackoverflow.com/questions/11001822/copy-files-from-one-project-to-another-using-post- build-event-vs2010) – user5226582

回答

2

你可以做的是對每個程序使用單獨的配置,並在該配置中設置要編譯哪些文件。

在你的情況,你的project.json的相關部分可能是這樣的:

"configurations": { 
    "Program1": { 
    "buildOptions": { 
     "compile": { 
     "exclude": "Program2.cs" 
     } 
    } 
    }, 
    "Program2": { 
    "buildOptions": { 
     "compile": { 
     "exclude": "Program1.cs" 
     } 
    } 
    } 
} 

可以再用dotnet build -c Program1建立PROGRAM1與dotnet run -c Program1同樣地,對於Program2中運行它。

+0

謝謝,很好的解決方案。 – sfinnie

相關問題