如何在.csproj之前构建.xproj

时间:2017-01-19 09:35:54

标签: c# msbuild .net-core

这是this question的后续行动。

由于我无法在Visual Studio中的.csproj中直接引用我的.xproj,因此我不得不直接引用构建的net461 dll。所以在这种情况下,我希望我的.csproj在运行.csproj之前预先编译.xproj。

我尝试手动修改.csproj并添加:

<ItemGroup>
   <ProjectReference Include="..\SomeFolder\SomeProject.xproj">
      <Project>{1A94B405-2D01-4A09-90D5-A5B31180A03B}</Project>
      <Name>SomeProjectNamespace</Name>
   </ProjectReference>
</ItemGroup>

但是当我构建.csproj时,它并没有构建.xproj。

当我运行.csproj时,我无法调试.xproj,这已经够糟了......但至少当我运行.csproj时我想确定我的最后一个版本.xproj编译。

1 个答案:

答案 0 :(得分:1)

xproj&lt; =&gt; Visual Studio 2015中的csproj引用始终是错误的,并且从未运行良好。据我所知,没有好的解决方法。

也就是说,Visual Studio 2017 RC增加了对使用csproj构建.NET Core和.NET Standard的支持。这不赞成使用xproj和project.json。

使用这种新格式,项目引用的项目将如下所示:

<!-- App.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net461</TargetFramework>
    </PropertyGroup>
    <ItemGroup>
        <ProjectReference Include="..\Library\Library.csproj" />
    </ItemGroup>
</Project>

<!-- Library.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netstandard1.1</TargetFramework>
    </PropertyGroup>
</Project>