2011-10-19 1 views
5

Ну, дело в том, что у меня нет установленной Visual Studio, и я не хочу ее устанавливать, поэтому я создал пакетный файл, который компилирует мой .csproj-файл и все мои исходные файлы.Как включить DLL-файлы в файл .csproj?

Проблема в том, что я не знаю, как включить DLL-файлы. Вот мой текущий код для моего файла .csproj:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <AssemblyName>Project</AssemblyName> 
    <OutputPath>Bin\</OutputPath> 
    </PropertyGroup> 

    <ItemGroup> 
     <!-- .cs files --> 
    <Compile Include="program.cs" /> 
    </ItemGroup> 

    <Target Name="Build"> 
    <MakeDir Directories="$(OutputPath)"  Condition="!Exists('$(OutputPath)')" /> 
    <Csc Sources="@(Compile)" OutputAssembly="$(OutputPath)$(AssemblyName).exe" /> 
    </Target> 
</Project> 

Что мне нужно изменить, чтобы включить/ссылаться на файл DLL в процесс компиляции?

ответ

8

Вам потребуется ItemGroup с элементами под названием Reference следующим образом:

<ItemGroup> 
    <Reference Include="Microsoft.Practices.Unity" /> 
    <Reference Include="MvcMiniProfiler"> 
     <HintPath>..\packages\MiniProfiler.1.6\lib\MvcMiniProfiler.dll</HintPath> 
    </Reference> 
    <Reference Include="System" /> 
    <Reference Include="System.configuration" /> 
    <Reference Include="System.Core" /> 
    <Reference Include="System.Data.Entity" /> 
    <Reference Include="System.Runtime.Serialization" /> 
    <Reference Include="System.Security" /> 
    <Reference Include="System.Web" /> 
    <Reference Include="System.Xml.Linq" /> 
    <Reference Include="System.Data.DataSetExtensions" /> 
    <Reference Include="Microsoft.CSharp" /> 
    <Reference Include="System.Data" /> 
    <Reference Include="System.Xml" /> 
    </ItemGroup> 

Если вы ссылаетесь не-GAC'd DLLS вам нужно будет либо поместить в HintPath (см Mvc мини-профайлер, это должно относиться к местоположению файлов сборки), или вам нужно будет передать путь к MSBuild в свойстве ReferencePath.