当前位置:网站首页>.net core踩坑实践
.net core踩坑实践
2022-07-05 06:26:00 【艾萨克SU】
.net core踩坑
0.错误提示
准确的说是有两个坑,一个关于.net core的版本,另一个关于编译选项的。先贴一下错误信息。
0.1打不开工程
第一个错误就是打不开工程,我装的VS2017,打开一个现有工程时,报错Project file is incomplete. Expected imports are missing
可是这个工程是git库里的,产品都是用的这个。为什么我本地就打不开呢?
0.2 项目无法加载
同样的环境,另一个工程,里面有一个project,在打开sln之后,这个project显示未正常加载,在error list中提示:
Error NU1105 Unable to find project information - The project file may be invalid or missing targets required for restore
而且只有这一个项目是无法加载的,sln中其他可以。
0.3 System.BadImageFormatException
这个问题是在前面的问题解决之后,终于能够打开编译了,可是运行起来却在某个地方报了个错误,就是这个System.BadImageFormatException
1 第一个坑
1.1 VS版本
经过咨询同事,他也没找到原因,但是他问了我一句你没装vs2019啊。我就试着装上了vs2019,然后就发现vs2019能够打开这个项目,一切正常,再次用vs2017就打不开。
1.2 .net core版本
搜索了一下,有些人提是.net core的原因。重新查看了安装环境的说明,里面要求按照.net core 2.1, 我查了,确实是.net core 2.1啊。
后来终于查到了一个关键的地方。
https://stackoverflow.com/questions/49432666/project-file-is-incomplete-expected-imports-are-missing
和
https://stackoverflow.com/questions/53329290/net-core-2-2-cant-be-selected-in-visual-studio-build-framework/55529011#55529011
看说明:
Issue details: 2.1.6xx & 2.2.2xx version of the sdks are only supported on Visual Studio 2019. VS 2017 needs 2.1.5xx & 2.2.1xx versions of the sdk.
再查看我安装的.net core版本2.1.818,再看看.net core 2.1的下载界面
上面的2.1.818的visual studio support写的是2019, 下面的2.1.526才是支持vs2017的。
卸载2.1.818,安装2.1.526, VS2017能正常打开工程了。
上面0.1和0.2的问题都解决了。
2.第二个坑
2.1 x86
编译成功,调试,可是在跑到一个调用另一个库的地方抛出了异常,就是这个System.BadImageFormatException,搜索发现,通常都是由于X86和X64的库混用导致的。我知道其他库使用的X86,我看了一下我编译时候选择的平台,是X86啊
2.2发现端倪
后来是怎么发现的问题呢?我在attach to process的时候,发现有一列type没有显示全,我把这一列拖宽,显示全了,赫然写着managed(V4.0.3xxx) X64.
怎么回事,我选的是x86啊,
点了一下configure manager,
太有欺骗性了,active solution platform选的是x86,可是各个项目却选的是any cpu,所以最后编出来的是x64 的。
改成x86,重新编译。成功。
3 思考
多点一下,确认。
边栏推荐
- Vant weave swipecell sets multiple buttons
- Redis-02. Redis command
- Huawei bracelet, how to add medicine reminder?
- 数据库Mysql全部
- Time is fast, please do more meaningful things
- International Open Source firmware Foundation (osff) organization
- How to set the drop-down arrow in the spinner- How to set dropdown arrow in spinner?
- Modnet matting model reproduction
- Day 2 document
- Financial risk control practice -- feature derivation based on time series
猜你喜欢
How to make water ripple effect? This wave of water ripple effect pulls full of retro feeling
All English in the code
Bit of MySQL_ OR、BIT_ Count function
P2575 master fight
Skywalking全部
What is linting
2. Addition and management of Oracle data files
容斥原理 AcWing 890. 能被整除的数
Mutual transformation between two-dimensional array and sparse array (sparse matrix)
Game theory acwing 891 Nim games
随机推荐
4. Oracle redo log file management
[Chongqing Guangdong education] 1185t administrative leadership reference test of National Open University in autumn 2018
【高德地图POI踩坑】AMap.PlaceSearch无法使用
kata container
Find the combination number acwing 889 01 sequence meeting conditions
CGroup CPU group source code analysis
博弈论 AcWing 892. 台阶-Nim游戏
3. Oracle control file management
Suppose a bank's ATM machine, which allows users to deposit and withdraw money. Now there is 200 yuan in an account, and both user a and user B have the right to deposit and withdraw money from this a
Speedtree01 generator properties
June 29, 2022 daily
1. Create Oracle database manually
Chinese remainder theorem acwing 204 Strange way of expressing integers
Vscode editor
达梦数据库全部
Game theory acwing 894 Split Nim game
LSA Type Explanation - lsa-1 [type 1 LSA - router LSA] detailed explanation
如何正确在CSDN问答进行提问
Configuration method and configuration file of SolidWorks GB profile library
Client use of Argo CD installation