首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法添加掩护包-版本字符串部分太短或太长

无法添加掩护包-版本字符串部分太短或太长
EN

Stack Overflow用户
提问于 2022-02-08 14:56:31
回答 1查看 387关注 0票数 2

当我试图将coverlet.msbuild添加到我的测试项目时,我会得到以下错误:

代码语言:javascript
运行
复制
The expression "[System.Version]::Parse('')" cannot be evaluated. Version string portion was too short or too long.  C:\my_repo\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets              

我确实看到了我的csproj的变化:

代码语言:javascript
运行
复制
<Import Project="..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.props" Condition="Exists('..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.props')" />

<Error Condition="!Exists('..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.props'))" />
<Error Condition="!Exists('..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets'))" />

<Import Project="..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets" Condition="Exists('..\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets')" />

但是packages.config没有改变,所以看起来nuget并没有被实际安装。

我试图将它添加到一个.net 4.8测试项目中。

有什么可以导致这一切的想法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-08 15:36:47

错误消息告诉您错误来自C:\my_repo\packages\coverlet.msbuild.3.1.2\build\coverlet.msbuild.targets。让我们来看看它。因为Coverlet是开源的,所以我可以链接到它的源代码:https://github.com/coverlet-coverage/coverlet/blob/1e74dd43824fc49e90622a3442133c2d9f4e8e01/src/coverlet.msbuild.tasks/coverlet.msbuild.targets (当前主分支提交,使用permalink,以防将来文件发生变化)。

由于错误涉及到System.Version,我们可以搜索它,并在第11行的顶部找到它,它试图解析两个属性,_CoverletSdkNETCoreSdkVersion_CoverletSdkMinVersionWithDependencyTarget。第一个属性定义为_CoverletSdkNETCoreSdkVersion>$(NETCoreSdkVersion)</_CoverletSdkNETCoreSdkVersion>

因此,我的结论是,包作者只打算支持sytle项目,而不是".NET框架“(非SDK )风格的项目。他们只是以一种在非sdk风格的项目中崩溃他们的代码的方式来实现它。

请注意,您仍然可以使用.NET样式项目来针对。创建一个" .NET“( .NET核心自.NET 5以来的新品牌)测试项目,然后编辑csproj并将<TargetFramework>net6.0</TargetFramework>更改为<TargetFramework>net48</TargetFramework>

我不知道为什么盖子不在你的packages.config中,包的安装看起来很成功,它只是在构建时失败,这在安装完成后才会发生。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71036020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档