【发布时间】:2017-08-08 09:42:32
【问题描述】:
我有一个相当简单的类,它继承自 ITask,并作为更新版本 (VersionUpdater.dll) 的构建任务运行。工程文件入口如下:
<UsingTask TaskName="VersionUpdater" AssemblyFile="VersionUpdater.dll" />
<Target Name="BeforeBuild">
<VersionUpdater />
</Target>
这对于常规的 .Net 项目来说非常好;但是我尝试将它加载到 .Net Core 项目构建任务中并得到了这个:
严重性代码描述项目文件行抑制状态 错误 MSB4062 无法从 程序集 C:...\VersionUpdater.dll。无法加载文件或程序集 'file:///C:...\VersionUpdater.dll' 或其依赖项之一。这 系统找不到指定的文件。确认 声明是正确的,程序集及其所有依赖项都是 可用,并且该任务包含一个公共类,该类实现 Microsoft.Build.Framework.ITask。
好的,所以我认为现在可能必须使用 .Net Core 构建 DLL,所以我这样做了,并创建了 VersionUpdater.Core.dll (AssemblyFile="VersionUpdater.Core.dll"),并得到了这个错误:
严重性代码描述项目文件行抑制状态 错误 MSB4062 无法从 程序集 C:...\VersionUpdater.Core.dll。无法加载文件或 程序集'System.Runtime,版本=4.1.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。这 系统找不到指定的文件。确认 声明是正确的,程序集及其所有依赖项都是 可用,并且该任务包含一个公共类,该类实现 Microsoft.Build.Framework.ITask。
正如我所说,该代码适用于普通的 .Net 项目。它只是不想使用 .Net Core 项目。有什么我想念的吗? .Net Core 找不到 System.Runtime 是不是 bug?
【问题讨论】:
标签: msbuild asp.net-core .net-core msbuild-task