.NET6 WindowsBase版本冲突
本帖最后由 lingee 于 2022-9-13 14:43 编辑以下顺序操作:
1. 新建一个.NET6的Winform工程
2. 从指定路径添加dll引用
C1.Win.6.dll
C1.Win.FlexGrid.6.dll 版本:6.0.20222.566
获得途径:别的工程从NuGet下载后,从路径【..\.nuget\packages\c1.win\6.0.20222.566\lib\net6.0】拷贝至本工程目录
理由:因为业务上一些特殊要求,项目不允许直接通过NuGet引用dll
3. 在还未在画面上添加任何控件的情况下,编译出警告,报"WindowsBase"的版本冲突
"WindowsBase, Version=4.0.0.0, ****" [..\dotnet\packs\Microsoft.NETCore.App.Ref\6.0.8\ref\net6.0\WindowsBase.dll]
"WindowsBase, Version=6.0.2.0, ****" [..\ComponentOne\Dlls\C1.Win.FlexGrid.6.dll]
求教,该如何消除此警告?
前提是不能从Nuget引用。。。
附上Demo
如果你这边是不能在nuget.org上获取的话,实际上在本机安装开发包后,也能通过nuget的本地源来引用,这种方式应该适合你们,
emmm
咱们这儿特殊的就是,需要引用的dll,必须明示在工程目录中,所以把需要的dll拷贝到了Dlls文件夹里面
因为无论选择的是nuget.org还是本地源,工程文件.csproj里的内容其实都一样的
<PackageReference Include="C1.Win.FlexGrid" Version="6.0.20222.566" />
出错的问题在考虑,是不是少拷贝了哪个必要的dll过来?
应该不是少拷贝了dll的原因,这个问题应该不影响编译,可以先忽略,如果编译运行有问题的话,我来报给研发
是的,编译能过,就是每个project都会出这个警告,特烦,怎么都消不掉~
运行起来还不确定,因为另一个Inputman的错误还没跑起来~
或者,能给我个你们控件编译时使用的Ver6.0.2.0 这个版本的WindowsBase.dll不?
我sdk更新到最新也没见这个版本的。。 警告的原因可能是flexgrid 组件使用的.NET6小版本不一致的原因。这个目前没办法提供对应的WindowsBase.dll
如果不影响运行的话,vs中你就取消显示警告就是了
本帖最后由 lingee 于 2022-9-20 18:21 编辑
除了版本冲突以外,还有一个警告,
画面上添加C1FlexGrid后再打开Design画面的时候,
会报一堆Design用dll找不到的错,比如:
C1.Win.FlexGrid.6.Design
C1.Win.Design
【fail: : Failed to load assembly: C1.Win.FlexGrid.6.Design, Version=6.0.20222.566
System.IO.FileNotFoundException: Could not load file or assembly 'C1.Win.FlexGrid.6.Design, Version=6.0.20222.566, Culture=neutral, PublicKeyToken=null'.】
基于这些警告,画面上点不到添加的C1FlexGrid控件,不能在画面上修改设计,
这个问题有啥解决办法不?
你可以看看包里有没有这些dll,也引用了试试 就是哪里都找不到这几个dll
安装目录也没有 Nuget下载目录里也没找到
只有一个*.Design.Server.dll 放进来也没用 本帖最后由 Richard.Ma 于 2022-9-21 09:35 编辑
你试试,
1.和你这个帖子中一样https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=153856,加入license信息
2.这个flexgrid有依赖C1.win,所以你需要把C1.Win包里的dll也全部引入
我这边测试了一下,加了这个以后,可以正常拖入控件,编译运行
页:
[1]
2