2016-04-06 98 views
0

我爲編譯多個文件寫了一個文件,但它不起作用。爲多個文件創建一個msbuild

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Compile"> <ItemGroup> <FilesToCompile Include="hola.cs"/> <FilesToCompile Include="hola2.cs"/> </ItemGroup> <PropertyGroup>
<AssemblyName>Proyecto</AssemblyName> <OutputPath>Bin\</OutputPath>
<Optimize>false</Optimize> </PropertyGroup> <Target Name="Compile"> <MakeDir Directories="$(OutputDir)"/> <Csc Sources="@(FilesToCompile)" OutputAssembly="$(OutputPath)$(AssemblyName)" Optimize="$(Optimize)" TargetType="exe" /> </Target> </Project>

這表明我這個錯誤。 enter image description here

英文:

錯誤CS0017:程序 '輸出文件名' 有多個定義的一個入口點。用/ main編譯指定包含入口點的類型。

+0

你可以得到一個英文版本的錯誤並將其作爲文本發佈,而不是圖像? –

+0

當然@dangerzone,錯誤CS0017:程序'輸出文件名'有多個定義的入口點。用/ main編譯指定包含入口點的類型。 – MagnunStalin

回答

0

我自己解決了。

<Project DefaultTargets = "Compile" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" > 
<PropertyGroup> 
<NombreClase1>hola1</NombreClase1> 
<NombreClase2>hola2</NombreClase2> 
</PropertyGroup> 
<ItemGroup> 
<Clase1 Include = "hola.cs"/>    
<Clase2 Include = "hola2.cs"/>    
</ItemGroup> 
<Target Name = "Compile">    
<CSC Sources = "@(Clase1)" OutputAssembly = "$(NombreClase1).exe">    
<Output TaskParameter = "OutputAssembly" ItemName = "Ejecutable1" />       
</CSC>   
<Message Text="Archivo compilado @(Ejecutable1)"/>   
<CSC Sources = "@(Clase1)" OutputAssembly = "$(NombreClase2).exe"> 
<Output TaskParameter = "OutputAssembly" ItemName = "Ejecutable2" />      
</CSC> 
<Message Text="Archivo compilado @(Ejecutable2)"/>  
</Target>      
</Project>