如何使用csproj中的Import语句将文件添加到C#项目?

时间:2014-07-04 16:34:55

标签: c# msbuild csproj

我正在尝试编写一个小.targets文件,以便在我们的所有项目中包含log4net位。

因此我写道:

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>    
        <Compile Include="logging\Log4Net.cs" />
        <Compile Include="logging\SXmlLayout.cs" />
        <None Include="logging\default.log4net">
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </None>
        <None Include="logging\SXmlLayout.xsd">
        <SubType>Designer</SubType>
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </None> 
    <Reference Include="log4net">
        <HintPath>..\log4net\net45\log4net.dll</HintPath>
    </Reference>
    </ItemGroup>
 </Project>

在主项目中,我在csharp目标文件之后添加了这个:

  ...oft.CSharp.targets" />
  <Import Project="$(MSBuildProjectDirectory)\logging\sis.logging.targets" />  

现在,如果我故意拼错文件名,那就错了。所以它正在读取文件。

log4net DLL正确获取引用,所以它确实在做某事。

但是,没有任何文件包含在项目中。

该文件有问题吗?这甚至可以工作吗?

0 个答案:

没有答案