如何使用MSBuild NuGet将.csproj文件加载到.NET Core 3.0中

编程入门 行业动态 更新时间:2024-10-27 18:34:17
本文介绍了如何使用MSBuild NuGet将.csproj文件加载到.NET Core 3.0中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个非常简单的控制台项目:

class Program { static void Main(string[] args) { var project = new Project( "FishStory.csproj", null, null, new ProjectCollection()); Console.ReadLine(); } }

这是.NET Core 3.0控制台应用程序,并且引用了Microsoft.Build(16.4.0)NuGet包。

找到.csproj文件FishStory.csproj(我没有收到缺少.csproj的异常),但我收到以下错误。

Microsoft.Build.Exceptions.InvalidProjectFileException: ‘导入的项目 "C:UsersvchelsourceEposForDaveForDaveinDebug 找不到etcoreapp3.0Microsoft.CSharp.Target"。 确认导入声明"C:Usersvchelsource"中的表达式EposForDaveForDaveinDebug Etcoreapp3.0Microsoft.CSharp.Target"是正确的,并且该文件存在于磁盘上。C:UsersvchelsourceEposForDaveForDaveinDebug Etcoreapp3.0FishStory.csproj‘

我本以为这样一个简单的MSBuild测试会"正常工作",但我似乎遗漏了一些东西。如何加载此.csproj文件?

推荐答案

NuGet包似乎添加了使用项目对象所需的.dll,但各种项目类型必须具有加载项目.csproj时使用的.Target和.props文件。

要加载我的特定项目,我必须将以下文件添加到输出目录。我通过将文件放在项目中并将它们标记为更新时复制来完成此操作。

我添加了以下文件:

  • Microsoft.Common.Target
  • Microsoft.CSharp.Target
  • Microsoft.NETFramework.props
  • Microsoft.NETFramework.Target

在我的例子中,.csproj是一个MonoGame项目,所以我还必须添加:

  • MonoGame.Build.Tasks.dll(不确定我是否需要它)
  • MonoGame.Common.props
  • MonoGame/v3.0/MonoGame.Content.Builder.targets

要添加这些文件以将其复制到输出文件夹:

  • 将文件添加到项目中(对于.NET Core,您只需将文件添加到目录中)
  • 在解决方案资源管理器中右键单击该文件,然后选择属性
  • 将复制到输出目录设置为较新时复制
  • 我从以下位置拉出了目标/props/.dll文件:

    • C:WindowsMicrosoft.NETFramework64v4.0.30319
    • C:程序文件(X86)MSBuildMonoGamev3.0

    我猜其他项目类型(如Android Xamarin项目)可能需要不同的.Target文件,如果使用的是Visual Studio 2019社区:

    ,可以在此处找到
    • C:程序文件(X86)Microsoft Visual Studio2019CommunityMSBuildXamarin
    最后,我还必须手动添加NuGet包Microsoft.Build.Utilities.Core.不确定为什么在添加Microsoft.Build时没有自动添加它

    更多推荐

    如何使用MSBuild NuGet将.csproj文件加载到.NET Core 3.0中

    本文发布于:2023-11-17 06:34:29,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1609170.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:如何使用   加载   文件   NuGet   MSBuild

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!