如何使用MSBuild.exe从没有Visual Studio的命令行构建代码

时间:2015-05-27 10:57:40

标签: visual-studio msbuild msbuild-4.0

您能否逐步解释如何使用命令行在没有Visual Studio的情况下构建代码并生成DLL?

我正在使用Visual Studio 2010 SP1。我需要样本文件(.sln,.csproj),它将与MSBuild一起使用,需要命令我可以在没有Visual Studio的情况下编译代码并生成DLL。

1 个答案:

答案 0 :(得分:1)

最后我得到了解决方案。

Please do following steps to generate DLL from xml file without having Visual Studio IDE.

Basically, we require only two types files

1. class file like Helloworld.cs , Welcome.cs
2. XML file

Here below is the format of XML file which helps to generate DLL file

     <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <!-- Generate DLL/Assembly Name -->
    <AssemblyName>MSBuildSample</AssemblyName>
    <OutputPath>Bin\</OutputPath>
    <OutputType>Library</OutputType>
  </PropertyGroup>  
    <ItemGroup>
        <Reference Include="System" />
        <Reference Include="System.Core" />
        <Reference Include="System.Data.Linq" />
    </ItemGroup>
    <ItemGroup>
       <!-- Mentioned here class file to compile  -->
        <Compile Include="Helloworld.cs" />
        <Compile Include="Welcome.cs" />
        <!-- <Compile Include="C:\testing\test.Designer.cs" />
        <EmbeddedResource Include="C:\testing\test.resx" /> -->
    </ItemGroup>
    <Target Name="Build">
        <Csc Sources="@(Compile)" 
             Resources="@(EmbeddedResource)" 
             References="@(Reference)" 
             TargetType="library"
             OutputAssembly="C:\testing\test.dll" />
    </Target>
    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

将此文件作为MSBuild.xml保存在您的类文件所在的同一文件夹中,然后您需要从命令行运行以下命令

MSBuild.exe MSBuild.xml /property:Configuration=Debug

这将帮助您在没有Visual Studio的情况下从XML文件编译和生成DLL。

这是非常基本的.xml文件,但您也可以从项目文件(.csproj)文件中编译和生成dll文件。如果该.csproj文件中不存在,则只需添加以下行。

 <PropertyGroup>
  <OutputType>Library</OutputType> 
  <OutputPath>Bin\</OutputPath> 
 </PropertyGroup>