Win 10 應用開發 RTM版的UAP專案解剖

2022-01-10 07:38:31 字數 2294 閱讀 8637

api雖然沒變,但vs中的應用程式專案是有了新變化。畢竟以前都是預覽的,而現在是「正規軍」,以前練兵時都用土豆槍,現在都是真刀真槍幹了,故而應用程式專案是有變化的。

以前老周跟大家講的修改專案模板,去掉遙測類庫的方法僅僅是針對預覽版的,現在我們無須這麼做,在新建專案時,你可以在新建對話方塊中選擇是否需要遙測。如下圖。

下面再看應用程式專案的另乙個重點——引用。

有人會問,引用有啥好看的,玩.net的人誰不知道。別急,這次的uap專案的引用方式比較有趣。先看截圖。

有沒有注意到什麼不同了嗎? 首先,肯定少不了universal windows這個通用api集合,這個和以前是一樣的,我記得曾經給大家介紹過win 10 api集合是通過api協定來歸檔的,還記得吧?不記得就算了,不影響你寫**。

但是,我要說的,是讓大家仔細觀察上面的截圖,有沒有發現microsoft.netcore.universalwindowsplatform這個引用的圖示比較另類?它的圖示和其他的引用不同。

如果你現在雙擊它,是不能在物件瀏覽器中檢視的。

但你可以在物件瀏覽器中選擇「.net for windows universal」來檢視。

為什麼那個傢伙那麼有個性呢,圖示要與眾不同呢? 你有沒有發現專案裡面有個叫project.json的檔案,是json格式的,開啟它之後,你會有驚喜。

,

"frameworks":

},"runtimes": ,

"win10-arm-aot": {},

"win10-x86": {},

"win10-x86-aot": {},

"win10-x64": {},

"win10-x64-aot": {}

}}

看到上面內容,你明白為什麼.net for uwp的引用圖示另類了吧。這不是明擺著嗎,這個引用是通過這個json檔案來配置的。

再細心看看,你還會發現,這個project.json檔案的生成操作為none,不複製。

意思是說,這傢伙是可有可無的了,於是,我們把這個project.json從專案中排除,注意是排除,不是刪除,不要急著刪,不然你會後悔的。

排除這個json檔案後,你再生成一下專案,成功,沒有報錯。

接下來,你到專案所在的資料夾下,把那個project.json檔案刪除(還有乙個project.lock.json也刪除),只要放進**站就可以了,切記!

然後,再重新生成一下專案,這時候,你會發現大禍臨頭了。

由此可以看到,.net for uwp的引用是通過這個json檔案來描述的,但這個檔案不一定要包括中專案中,只要它位於專案的目錄下就可以了。

經過我後續實驗發現:

1、project.json和project.lock.json同時存在時,編譯正常。

2、project.json刪除,project.lock.json存在時,編譯正常。

3、project.json存在,project.lock.json存在時,編譯正常。

4、只要project.json存在即可以成功編譯,會自動生成project.lock.json檔案。

5、如果project.json和project.lock.json都不存在,編譯出錯。並且在專案的引用列表中不見了.net for uwp。

至於這個project.json的具體作用,還是等官方參考文件完善了才知道。但從上面的測試來看,這個json應該是用來描述.net for uwp的引用的。

當然了,我們實際開發中,可以不必理會這個檔案,照舊寫**就ok了。

Win 10 應用開發 RTM版的UAP專案解剖

原文 win 10 應用開發 rtm版的uap專案解剖 api雖然沒變,但vs中的應用程式專案是有了新變化。畢竟以前都是預覽的,而現在是 正規軍 以前練兵時都用土豆槍,現在都是真刀真槍幹了,故而應用程式專案是有變化的。以前老周跟大家講的修改專案模板,去掉遙測類庫的方法僅僅是針對預覽版的,現在我們無須...

Win 10 應用開發 RTM版的UAP專案解剖

api雖然沒變,但vs中的應用程式專案是有了新變化。畢竟以前都是預覽的,而現在是 正規軍 以前練兵時都用土豆槍,現在都是真刀真槍幹了,故而應用程式專案是有變化的。以前老周跟大家講的修改專案模板,去掉遙測類庫的方法僅僅是針對預覽版的,現在我們無須這麼做,在新建專案時,你可以在新建對話方塊中選擇是否需要...

Win 10 應用開發 RTM版的UAP專案解剖

原文 win 10 應用開發 rtm版的uap專案解剖 api雖然沒變,但vs中的應用程式專案是有了新變化。畢竟以前都是預覽的,而現在是 正規軍 以前練兵時都用土豆槍,現在都是真刀真槍幹了,故而應用程式專案是有變化的。以前老周跟大家講的修改專案模板,去掉遙測類庫的方法僅僅是針對預覽版的,現在我們無須...