2013-01-04 89 views
3

我有一個大的「產品」,它被部署爲一組zip文件(分爲Web應用程序,Web服務,數據庫,工具等)。空的.net項目只是爲了將文件複製到輸出文件夾?

我目前使用MSBuild從VSS收集文件,構建,壓縮並複製到網絡共享。我正在轉向TFS,而其他所有類型的項目都可以正常工作,但我試圖找到一種方法將數據庫安裝腳本從源代碼管理中解放出來,並有效地將它們複製到它們自己文件夾中的放置位置(用於壓縮)。

我試着創建一個帶有'空C#項目'的解決方案文件(帶有一個assemblyInfo類以避免'無源'警告),所有腳本和支持文件都標記爲內容和'始終複製',但文件只是沒有出現在投遞文件夾中。這些文件在本地完全按照我想要的方式構建,但在通過TFS構建時不起作用。

我想知道是否有其他方法來做我所需要的 - 我受限於擁有數據庫腳本(因爲它們是)(即不轉換爲MSI)。我在任何地方都能搜索到我能想到的東西,但畫空白!

TIA,Simes。

回答

1

感謝您看這個大家,事實證明,我是用的csproj文件有問題。

我創建了一個全新的項目(C#庫),並在其中添加了幾個文件 - 將它們標記爲「內容」和「始終複製」,然後它們落在drop文件夾中。

這是一個有點快速和骯髒的,但我會添加後生成事件刪除虛假DLL,一旦我敢肯定它的所有工作:)

+0

這不是說爲項目創建輸出文件(在這種情況下,基本上是空的程序集)嗎? –

1

將文件標記爲資源並將其設置爲始終複製。

+0

那沒有做到這一點,它看起來像的csproj文件現在只是測試一些東西...... – Simes

1

你有沒有考慮爲此編寫自己的msbuild項目?然後,您可以將符合條件的所有文件複製到$(outdir)文件夾中。

東西沿着這些線路應該有所幫助:

<Project DefaultTargets="CopySqlScripts"> 
    <Target Name="CopySqlScripts"> 
    <ItemGroup> 
     <SqlScripts Include="$(MSBuildProjectDirectory)\*.sql" /> 
    </ItemGroup> 
    <Copy SourceFiles="@(SqlScripts)" DestinationFolder="$(OutDir)\SqlRelease" /> 
    </Target> 
</Project> 
+0

我希望只使用標準的TFS構建模板,並給出構成產品的所有解決方案。它看起來像我可能已經解決了它 - 當我知道肯定的時候我會回到這裏:)謝謝。 – Simes

相關問題