1.更新 VS2017
从 1.5.2 版本升级到 1.5.3 (从下载 VS2017的安装文件打开会提示更新)。
2.下载 net core 2.0 sdk
3.将项目中 net core 1.0 改成 2.0
提示“包含了重复的“Content”项”,参考:http://mamicode.com/info-detail-1960704.html
- 解决办法一:在 .csproj 项目文件中添加如下配置项,重启解决方案编译成功。
<PropertyGroup>
<EnableDefaultContentItems>false</EnableDefaultContentItems>
</PropertyGroup>
注意:这样修改后发布会发现发布文件中没有 wwwroot、views、appsettings.json 等文件
-
解决方案二:打开
.csproj
项目文件,将文件中包含在<content>
里的代码删掉,一般你会看到wwwroot
里的文件,都是在一起,可以根据这个来查找。
然后再次打开项目看看 NuGet 如果显示黄色说明有包需要调整,将有问题的包都升级到 2.0 ,通过调试发现很多之前没问题的代码都报错了,这是因为方法改变了,这就需要一一改下参数使用,不是 2.0的包也要升级到 2.0。
注意:
- 当前 Asp.Net Core 2.0 项目发布文件中是没有 Appsettings.json 文件的,但之前有这个文件还是起作用的。
- 如果有的包升级到 2.0 报错(非不支持当前版本的)可以直接在
.csproj
文件中直接修改版本,然后重新打开项目就可以的。 - 在 IIS 上发布需要注意,由于是
net core 1.1
升级到net core 2.0
,需要将除配置文件和 wwwroot 文件夹 外的其他项目都进行替换。