Visual Studio 2017 MSBuild 任务开发

2024-03-11

使用 Visual Studio 2017 RC 开发自定义 MSBuild 任务时,我遇到以下问题:只要添加其他依赖项,而不仅仅是Microsoft.Build.Utilities.Core(使用 v15.1.0-preview-000458-02 进行 .NET Core 支持),我无法将任务加载到另一个 .csproj MSBuild 项目中,因为找不到依赖项。

有没有办法自动将所有依赖项复制到 Debug 文件夹? 或者我每次想测试时都必须发布它?

Update1:
发布问题是我的环境中的本地问题,并且已得到修复。

Update2:
看来,一旦我将 TargetFramework 从 netstandard1.4 更改为 netstandard1.6,它甚至根本无法加载任务。一旦我使用 netstandard 1.6,它就会抛出异常:

The task could not be loaded from the assembly.
Could not load file or assembly 'System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its
dependencies.

有没有办法自动将所有依赖项复制到 Debug 文件夹?或者做 我每次想测试都必须发布它吗?

默认情况下,出于充分的原因,.NET Core 和 .NET Standard 项目不会将引用的程序集复制到生成文件夹中。相反,它们是从 NuGet 缓存中解析的。

但如果您确实需要它,可以通过使用覆盖默认值来更改此行为CopyLocalLockFileAssemblies环境。

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>

Cref: https://github.com/dotnet/sdk/blob/d20405f91a2959fa91fea6285d9a896286727f2a/src/Tasks/Microsoft.NET.Build.Tasks/build/Microsoft.NET.Sdk.BeforeCommon.targets#L55-L56 https://github.com/dotnet/sdk/blob/d20405f91a2959fa91fea6285d9a896286727f2a/src/Tasks/Microsoft.NET.Build.Tasks/build/Microsoft.NET.Sdk.BeforeCommon.targets#L55-L56

第二个问题

似乎只要我将 TargetFramework 从 netstandard1.4 更改为 netstandard1.6

要构建可在“MSBuild.exe”和“dotnet.exe msbuild”上运行的任务程序集,您应该以 netstandard1.4 或更低版本为目标。 netstandard1.6 与 .NET Framework 4.6.1(MSBuild.exe 在其上运行)不兼容。

如果您需要 netstandard1.4 中未提供的 API,则需要针对 .NET Framework 和 .NET Standard 交叉编译您的任务,这要复杂得多,但可以完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 2017 MSBuild 任务开发 的相关文章

随机推荐

  • 服务器监听多个端口 [Java]

    我试图弄清楚如何创建一个 java 程序 该程序可以侦听多个端口并根据客户端通话的端口执行不同的操作 我已经看到并理解了基本的客户端 服务器程序 http systembash com content a simple java tcp s
  • LINQ 在类项目上不同?

    注意这个问题是类似的this one https stackoverflow com questions 741299 linq to sql distinct with anonymous types但我不使用 linq to sql 因
  • 拖放生成 XSLT 以将 XML 显示为 HTML?

    我搜索并浏览了 XSLT 问题 并查看了 Altova 的产品 但还没有查看 Stylus 的产品 我不想再听到 XSLT 很复杂且难以手动编码 HTML 刚开始流行时就是这样 我知道 苹果和橘子的比较 因为 XSLT 是一种处理语言 而
  • 如何将变量传递给 Pug 的 `script.` 块?

    我的代码中有这个代码index pug file doctype html html head title title body script src source script for var event of events VClien
  • Cordova 在没有 Ionic 的设备上热重载

    我使用 Cordova 没有 Ionic 或任何其他框架 我的问题是 如果不使用 Ionic 我找不到 Cordova 的任何热重载功能或插件 有没有什么解决方案可以在没有任何框架的情况下在iOS模拟器上实时重新加载 我在 Cordova
  • 我需要有关 MKMapView 崩溃的帮助

    我的实时应用程序最常见的崩溃之一是 MKMapView 崩溃 它在内部方法崩溃 MKMapView mapTileViewDidFinishLoading 在我的测试过程中 我无法追溯崩溃 但在 iTunes Connect 的崩溃报告中非
  • AFNetworking - 如何发出 POST 请求

    编辑 07 14 正如比尔 伯吉斯 Bill Burgess 在他的回答的评论中提到的 这个问题与version 1 3 of AFNetworking 对于这里的新人来说可能已经过时了 我对 iPhone 开发还很陌生 我使用 AFNet
  • 无法捕获 Win32Exception

    因此 我在实体框架 任何 事务期间收到 Win32Exception 数据库机器已离线 因此这是可以预料的 这是一个监控应用程序 所以我想记录机器不可用 但它没有捕获错误 错误是 Elmah 报告 System ComponentModel
  • Vue devServer 代理没有帮助,我仍然收到 CORS 错误

    我正在使用 vue cli 3 x 并且在我的 vue config js 中我有这个 devServer proxy api ws true changeOrigin true target http localhost 8080 但我不
  • 为什么java中的构造函数不被继承?

    我是java编程语言的初学者 最近我学习了构造函数java中不能继承 谁能解释一下why 我已经读过这个链接 https stackoverflow com questions 4417797 why is inheriting const
  • 通过 IP 地址限制访问的最佳方法?

    对于 ASP NET C 应用程序 我们需要根据 IP 地址限制访问 实现这一目标的最佳方法是什么 一种方法是使用Http模块 http www codeproject com KB aspnet http module ip securi
  • 强制 QtCreator 在构建时运行“qmake”

    在我的一些项目中 我使用 pro 文件中配置的一些预构建步骤 所以qmake每当激活时都会执行此步骤 现在在 QtCreator 中 当我构建时 也是完全重建整个项目时 它并不总是运行qmake 因为它试图变得聪明并优化它 它仅在 pro
  • MapFragment 类型的 getSupportFragmentManager() 方法未定义

    我正在尝试实现 Google 地图显示 下面是我的代码 package com fragments import android os Bundle import android view LayoutInflater import and
  • 如何将这些坐标转换为 Google 地图可读的坐标?

    看看这个的地图坐标 这是从维基百科链接进来的 坐标通过查询字符串传递 我不确定这的实际术语 但如何转换坐标 它们看起来像这样 北纬 37 14 6 西经 115 48 40 我希望它们看起来像这样 37 235 115 811111 这是
  • Zest:将图表导出为图像/pdf

    我使用 zest 框架创建了一个网络视图图 它使用 SWT 显示 shell 来显示 UI 我想将 UI 导出为图像 pdf 怎么做 有任何想法吗 您可以使用 SWT GC copyArea 方法将控件的内容复制到图像 然后将图像保存到文件
  • 多页 WPF 应用程序

    我是桌面应用程序开发的新手 有一个非常基本的问题 我有一个名为 MainWindow 的 WPF 表单 我应该如何在其上拥有多个页面 例如 用户管理 管理内容 等 我想我有以下选择 使用多种形式 Tabs 分组框 任何澄清都会很棒 在我最近
  • 如何防止 pandas 数据框中的索引显示在 Excel 中?

    我有一个 pandas 数据框 df 其中包含一些我想输出到 Excel 的数据 但是我不希望将默认索引或与此相关的任何索引打印到工作表中 是 df values 吗 df2 1 category num 2 A 1 3 A 2 4 B 3
  • safari 上的 onbeforeunload 不显示确认消息

    我的这部分代码适用于除Safari 10 iOS 和 OSX 问题是 Safari 会触发beforeunload event但它不会显示在确认消息中 function goodbye e console log goodbye en fa
  • Rscript 无法识别 setGeneric 函数

    我正在尝试将 R 脚本转换为客户端可以在批处理模式下运行的脚本 我的代码使用通用函数 接近开头的一个片段如下 setGeneric testInput function inputData params list standardGener
  • Visual Studio 2017 MSBuild 任务开发

    使用 Visual Studio 2017 RC 开发自定义 MSBuild 任务时 我遇到以下问题 只要添加其他依赖项 而不仅仅是Microsoft Build Utilities Core 使用 v15 1 0 preview 0004