2014-02-06 133 views
0

我有一個由多個測試項目組成的Visual Studio解決方案。每個項目都是模板項目的副本。當模板項目被複制時,會有一個批處理腳本運行,執行一些文件重命名並添加其他指定文件。我想要做的是在該過程中將項目添加到解決方案中。我在MSDN上看到devenv開關here,但我沒有看到有關將項目添加到解決方案的任何信息。通過命令行將項目添加到解決方案

正在通過命令行添加項目到解決方案嗎?

感謝

+0

我已經添加了一些編輯到我的答案,希望它會有所幫助。 – lavrik

回答

2

如果你不介意的寫1位的PowerShell的,你可以做到這一點很容易地。首先,閱讀this question及其答案。您會發現一個指向nuget包(Microsoft.SQLServer.Compact)的指針,其中包含PowerShell腳本以通過其對象模型自動化VS。這是一個很好的開始舉例說明如何從PowerShell處理解決方案文件的例子。然後,您使用SolutionFolder.AddFromFile編寫一個小型PowerShell腳本將您的項目添加到您的解決方案。這可能更容易使用StudioShell及其提供者,但我還沒有嘗試過。

-1

對於SLN文件嘗試this question。對於項目文件,您可以運行一些xslt或任何其他必要的轉換進行編輯。例如,您可以創建MSBuild proj文件,以便在所需的sln文件上運行xslt轉換,然後在cmd中運行它,如:MSBuild.exe MyProj.proj。 MyProj.proj的樣品含量是這樣的:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="Transform"> 
    <TransformXml Source="Project.csproj" Transform="Transform.xml" Destination="New_Project.csproj" /> 
    </Target> 
</Project> 
+0

我覺得我對某事感到困惑。該項目文件是一個XML文件。我明白了。解決方案文件不是。那麼,如何在項目中調用MSbuild將其添加到解決方案中? – lucasbrendel

+1

對不起,你是對的。 [看看這個](http://stackoverflow.com/questions/414309/generate-solution-file-from-list-of-csproj)。任何方式sln是一個文本,你可以添加一些你需要的內容。 – lavrik

相關問題