[C#] VS2017中在某些目錄下使用不了 .NET Core 2.0 問題的處理辦法

来源:http://www.cnblogs.com/zyl910/archive/2017/09/15/dotnet_core_vs2017_notfound_sdk2.html
-Advertisement-
Play Games

作者: "zyl910" 一、緣由 最近遇到了一個奇怪的問題——明明已經在VS2017里裝好了 .NET Core 2.0 SDK,且測試過新建一個 .NET Core 2.0控制台項目能成功使用。但是在項目目錄中實際使用新建.NET Core 2.0控制台項目時,會遇到不支持 .NET Core ...


作者: zyl910

一、緣由

最近遇到了一個奇怪的問題——明明已經在VS2017里裝好了 .NET Core 2.0 SDK,且測試過新建一個 .NET Core 2.0控制台項目能成功使用。但是在項目目錄中實際使用新建.NET Core 2.0控制台項目時,會遇到不支持 .NET Core 2.0 的錯誤提示。

Severity    Code    Description    Project    File    Line    Suppression State
Error        The current .NET SDK does not support targeting .NET Core 2.0.  Either target .NET Core 1.1 or lower, or use a version of the .NET SDK that supports .NET Core 2.0.    ConsoleExample.netcore20    C:\VS2017\MSBuild\Sdks\Microsoft.NET.Sdk\build\Microsoft.NET.TargetFrameworkInference.targets    112    

而且此時項目屬性里,“目標框架”下拉框的當前值變為空。該下拉框中只能選 1.0、1.1 這2個版本。

曾經懷疑是不是 .NET Core 2.0 SDK文件被破壞了。但發現其他目錄下的 .NET Core 2.0 項目打開正常。

二、解決

找來找去,發現上上級目錄中有一個 global.json。於是猜測是該文件的問題,嘗試將該文件刪除到回收站。果然,刪掉該文件後,VS2017就能正常使用 .NET Core 2.0 了。

global.json 是 VS2015 + .NET Core 1.0 SDK 時代的配置文件,VS2017中已經不用該文件了。且該文件位於上上級目錄,本來以為它不會影響VS2017項目,結果還是被影響了。

三、處理 global.json

但是刪除 global.json後,VS2015中的 .NET Core 1.0 項目會報錯——

The following error occurred attempting to run the project model server process (2.0.0). 

Unable to start the process. No executable found matching command "dotnet-projectmodel-server"

The project model server process provides intellisense, build, and reference information to Visual Studio and without it your experience will be very limited. Please try closing and reopening Visual Studio to see if that corrects the problem. Alternatively, check that the .NET Core SDK is properly installed."

這裡有2個辦法——

  1. 將解決方案中的 .NET Core 1.0 的 sln、global.json 抽離出去。移到某個子目錄去。然後在該子目錄另外新建專用的解決方案,註意修改project.json 來引用上級兄弟目錄中的文件。詳見 《[C#] .NET Core項目修改project.json來引用其他目錄下的源碼等文件的辦法 & 解決多框架時 project.json 與 app.config衝突的問題》。
  2. 乾脆不用 .NET Core 1.0。全部升級為 VS2017 + .NET Core 2.0 。

參考文獻


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 作為文本三劍客之一的sed,功能的確的強大,本文介紹一些基本的用法和高級選項,需要在今後的日常使用和工作中不斷的熟悉和鞏固。 ...
  • 一、開始 1、打開或新建asp.net mvc 4項目 2、修改 global.asax文件 原: 新: 3、刪除以下ASP.NET NuGet packages ,使用 Package Manager Console (PMC)進行移除 4、更新ASP.NET NuGet packages 二、更 ...
  • 本節目標: 當設備被一個程式打開時,存在被另一個程式打開的可能,如果兩個或多個程式同時對設備文件進行寫操作,這就是說我們的設備資源同時被多個進程使用,對共用資源(硬體資源、和軟體上的全局變數、靜態變數等)的訪問則很容易導致競態。 顯然這不是我們想要的,所以本節引入互斥的概念:實現同一時刻,只能一個應 ...
  • 今天用VBOX安裝了CentOS7, 但是安裝完之後,發現沒有ifconfig命令,在網上搜了一下解決辦法,在可以連網狀態下,輸入下麵命令即可 然後就可以用ifconfig命令了。 使用ifconfig命令後,沒看到熟悉的eth0,卻是enp0s3,也不知道CentOS為何設置成這樣。於是想把他改成 ...
  • 1.nginx文件結構 ... #全局塊 events { #events塊 ... } http #http塊 { ... #http全局塊 server #server塊 { ... #server全局塊 location [PATTERN] #location塊 { ... } locatio ...
  • 查看系統版本、修改用戶、關閉selinux、關閉iptables、遠程連接亂碼 ...
  • Supervisor (http://supervisord.org) 是一個用 Python 寫的進程管理工具,可以很方便的用來啟動、重啟、關閉進程(不僅僅是 Python 進程)。除了對單個進程的控制,還可以同時啟動、關閉多個進程,比如很不幸的伺服器出問題導致所有應用程式都被殺死,此時可以用 s ...
  • 首先,聯網分解為兩個問題,一、WLAN(無線網)、二、乙太網(有線網) 一 、WLAN問題解決方案 1.打開伺服器管理器 2.添加角色和功能 3.一直點下一步到“功能”,勾選 DirectPlay 和 無線LAN服務 ,然後一直下一步直到安裝完成就好了,然後重啟電腦。當然重啟前把本網頁收藏下我認為會 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...