【问题标题】:ProjectReference to native project from sdk-style project来自 sdk 风格项目的项目对本机项目的引用
【发布时间】:2020-05-09 04:42:41
【问题描述】:

我有一个引用 vcxproj 项目的框架项目。我使用 sdk 样式的项目将此项目转换为 .netstandard2.0 项目。现在,我收到有关缺少项目信息的错误。

我的标准项目如何引用 c++ 项目,以便它们都按依赖顺序编译。支持吗?

C:\Program Files\dotnet\sdk\2.1.513\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.targets(129,5):错误 NETSDK1007:找不到 'd 的项目信息:\depot\master4\private\mt\common\UnicodeNormalizer\UnicodeNormalizer.vcxproj'。这可能表明缺少项目参考。

<Project Sdk="Microsoft.NET.Sdk">
 <PropertyGroup>
  <TargetFramework>netstandard2.0</TargetFramework>
  <Configurations>Debug;Release;</Configurations>
  <SignAssembly>true</SignAssembly>
  <GeneratePackageOnBuild>false</GeneratePackageOnBuild>
  <Platforms>x64</Platforms>
  <ProjectGuid>{f7af5355-9510-42df-baf6-01748e9dc625}</ProjectGuid>
  <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  <NoWarn>0618</NoWarn>
 </PropertyGroup>

 <ItemGroup> 
  <ProjectReference Include="$(EnlistmentRoot)\private\mt\common\UnicodeNormalizer\UnicodeNormalizer.vcxproj"/>
 </ItemGroup>
</Project>

【问题讨论】:

  • 您的 c++ 项目是否以 .NET Core 为目标?
  • 这能回答你的问题吗? How to add C++ library in a .NET Core project
  • 不,它只是一个 c++ 项目。另一个问题是添加一个 c++ 库以在运行时链接到。我想添加一个 c++ 项目,以便将其构建为我的标准项目的依赖项
  • @Fai 你有运气吗?
  • @Chiel 我发布了我最终使用的答案

标签: .net .net-core


【解决方案1】:

我找到了一个看起来像这样的解决方法。这确实构建了项目并将生成的 dll 放置在该项目的输出中。请注意,这不会在 linux 上构建。 dotnet 无法解析 vcxproj 文件。

  <ItemGroup>
    <ProjectReference Include="$(EnlistmentRoot)\private\mt\common\UnicodeNormalizer\UnicodeNormalizer.vcxproj">
      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
      <OutputItemType>Content</OutputItemType>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <Targets>Build;DebugSymbolsProjectOutputGroup</Targets>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <None Include="$(EnlistmentRoot)\private\mt\common\UnicodeNormalizer\$(ProjectOutputPath)\UnicodeNormalizer.dll">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <Visible>false</Visible>
    </None>
  </ItemGroup>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多