.sln.metaproj文件是MSBuild在嘗試構建解決方案文件時自動生成的。創建此文件是因爲解決方案文件不是MSBuild項目。在這個生成的文件是autocreated標準的塔塔建設,清潔等,但不包。您最好的選擇可能是從使用解決方案文件切換到使用引用項目的MSBuild文件。它可能是這個樣子:
<Project ...>
<ItemGroup>
<Project Include="Project1.csproj" />
<Project Include="Project2.csproj" />
<Project Include="Project3.csproj" />
<Project Include="Project4.csproj" />
<Project Include="Project5.csproj" />
</ItemGroup>
<Target Name="Package">
<MSBuild
Projects="@(Project)"
Targets="Package"
Properties="Configuration=$(Configuration);Platform=$(Platform);..."
/>
</Target>
...etc. for Build, Clean etc.
</Project>
你也可以添加一個存根「生成文件項目」名字類似「包中的所有」你的解決方案,直接在上面像上面一個一個MSBuild項目要求的MSBuild。構建這個makefile項目將執行包的步驟。
如果要查看生成的metaproj,將名爲MSBuildEmitSolution的環境變量設置爲值'1'並運行構建,臨時文件將被保留。