91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Xamarin.Forms新手指南

發布時間:2020-07-29 17:31:30 來源:網絡 閱讀:585 作者:wangccsy 欄目:移動開發


Xamarin.Forms已經開源了一年多了。 那時候,我們已經接受了700多次拉取請求并收到了更多的請求。 有沒有這些是你的? 如果沒有,這是你的參與邀請! 在本文中,我將概述我們正在尋找什么樣的貢獻,并提供一個指南來提交您的第一個錯誤修復。

我們接受什么貢獻

簡而言之,我們將招募任何使Xamarin.Forms產品在穩定性,質量和能力方面更好的產品。 這可能采取以下形式:

  1. Bug修復

  2. 功能實現

  3. 測試

  4. 自述和維基文章或更新

在GitHub項目開始打開“請求”之前,有一些先決條件。

簽署.NET Foundation Release

當您提交提請請求時,.NET Foundation bot將檢查以確保您已經簽署了Contribution許可協議。 如果沒有,系統會提示您這樣做。 在完成之前,我們不能接受任何捐款。

查看編碼樣式要求

除了一些例外,我們堅持使用.NET Foundation風格指南:

  • 不要使用私有,因為這是默認保護級別。

  • 使用硬標簽而不是空格

  • 將行限制為最多120個字符

Xamarin.Forms新手指南

有關在Visual Studio安裝中實現其中的一些的指導,請查閱我們的自述文件。

讓我們關注錯誤修復

你發現了一個錯誤,并有一個修復你想貢獻?真棒! 在您走得太遠之前,請快速搜索Bugzilla,查看是否有任何相同問題的報告。 在搜索Xamarin.Forms時,選擇“高級搜索”選項,然后:

  • Classification: Xamarin

  • Product: Xamarin.Forms

  • Component: 無或全部搜索廣泛

  • Status: 所有的

如果存在匹配問題,并且標記為“正在進行”,則有人已經在處理此問題。 如果在該問題上引用了PR,那么可能會在GitHub上等待合并。 當問題被解決和修復時,然后已經將Pull請求合并以解決問題。 目前,要查看是否已經發布,您需要在哪個版本中搜索我們的發行說明。 我們有計劃在未來幾個星期內改進。

如果在任何其他不完整的狀態有錯誤,或沒有錯誤報告,那么你運氣好,準備繼續!

Xamarin.Forms解決方案

當您開始探索Xamarin.Forms解決方案時,可能看起來很難過。 我會為你揭開神秘面紗,并告訴你在哪里注意力。

Xamarin.Forms新手指南

Control Gallery/
這些項目包括一個畫廊應用程序,包括所有可用的Xamarin.Forms控件,更重要的是使用UITEST內聯的主機錯誤復制。 在修復錯誤時,或者只是為了調查控件是如何工作的,這個裸骨頭但是功能性的應用程序是你想要看的地方。

Pages Gallery/
顧名思義,這是另一個庫應用程序,但這次是DataPages實現。

Platforms/
這些項目包含平臺特定的服務實現,最重要的是UI控件。 當Xamarin.Forms在iOS上呈現一個Label時,它會運行Xamarin.Forms.Platform.iOS/Renderers/LabelRenderer.cs. 在Android上,你會得到Xamarin.Forms.Platform.Android/Renderers/LabelRenderer.cs, 或者如果您使用的是FastRenderers Xamarin.Forms.Platform.Android/FastRenderers/LabelRenderer.cs. 當添加控件或修復控件相關的錯誤時,這將是您實現這些更改的位置。

Xamarin.Forms/
在查找抽象控件,布局,綁定,觸發器,應用鏈接和其他非平臺特定代碼的核心實現時,搜索這些項目。

Xamarin.Forms.Maps/ and Xamarin.Forms.Xaml/
這些文件夾是不言自明的。 你可能不會花太多時間在這些項目中,除非你真的明白這些領域。

Fixing a Bug

  • Clone the Xamarin.Forms code from GitHub master branch or pull to make sure you have the latest.

  • Create a new branch to host your changes

  • Open the Xamarin.Forms solution and navigate to the Control Gallery > Xamarin.Forms.Controls.Issues > Xamarin.Forms.Controls.Issues.Shared

  • Use the _Template.cs to start a new case following the established naming convention of “Bugzilla######.cs” where ###### is the issue id in Bugzilla.

using Xamarin.Forms.CustomAttributes;
using Xamarin.Forms.Internals;

#if UITEST
using Xamarin.UITest;
using NUnit.Framework;
#endif

namespace Xamarin.Forms.Controls.Issues
{
	[Preserve(AllMembers = true)]
	[Issue(IssueTracker.Bugzilla, 1, "Issue Description", PlatformAffected.Default)]
	public class Bugzilla1 : TestContentPage // or TestMasterDetailPage, etc ...
	{
		protected override void Init()
		{
			// Initialize ui here instead of ctor
			Content = new Label
			{
				AutomationId = "IssuePageLabel",
				Text = "See if I'm here"
			};
		}

#if UITEST
		[Test]
		public void Issue1Test ()
		{
			RunningApp.Screenshot ("I am at Issue 1");
			RunningApp.WaitForElement (q => q.Marked ("IssuePageLabel"));
			RunningApp.Screenshot ("I see the Label");
		}
#endif
	}
}

在這里實現您的繁殖情況。 如果是一個更復雜的案例,請參考本項目中的其他問題,找到類似的內容,并遵循該模式。 最后你應該有一個演示,演示你正在努力解決的問題。

  • 選擇控制庫目標項目以在模擬器或設備上運行。

Xamarin.Forms新手指南

你應該看到你的重生發生。 如果沒有,那么就會出現這個問題已經解決了。

  • 實施你的修復并重新測試。

  • 在再現文件中實現UITest。 如果您不是UITest專業人員,請再次參考來源中的其他修補程序。 一旦您提交拉動請求,測試將自動運行。

您現在可以創建一個拉請求。 在您的IDE或Git工具中,在GitHub上為Xamarin.Forms遠程創建一個Pull請求。 這個過程應該轉到GitHub Pull Request頁面,并填入Xamarin.Forms Pull Request模板。 我們要求您填寫您可以做的一切,并省略任何不適用的內容。

Xamarin.Forms新手指南

Description
目前的行為是什么,預期的行為是什么?

Bugs
列出這適用于的任何和所有Bugzilla報告

API Changes
如果任何類的表面區域在進行此修復時更改,請注意此處的更改。 這些可能表示其他用戶及其遺留應用程序的破壞或行為變化。

Checklist
指示您是否已經包括測試。 如果不需要任何測試或使用UITest來測試問題太難,請注意。

就是這樣 提交拉請求,我們將審查。 如果有問題或疑慮,團隊將提交意見并提出代碼請求。 這個審查過程可能會感到臨床,所以不要親自去。 對自己說,開源項目的拉扯請求流程是一個很好的學習經歷,在幾乎每一種情況下,我的貢獻最終都被接受。

如果您將URL復制到Pull請求并在引用的Bugzilla問題上注意,這對我們和其他用戶也是非常有幫助的。

Adding Features
在開始研究功能之前,請查看公共Xamarin.Forms路線圖,然后搜索Evolution論壇,我們將討論可能的新功能和其他更改的規范。 如果您沒有看到已經覆蓋的功能,請在Evolution論壇上打開一個提案,并提供實施。 Xamarin.Forms工程小組將審核該提案并提供反饋。

如果您在一個平臺上實現舒適,但不足以實現其余平臺,該怎么辦? 繼續打開提案,邀請他人參與。

Tests and Wiki
如上所述,我們也歡迎在這些領域的貢獻。 我們有幾個UITEST項目以及單元測試。 我們有相當好的覆蓋面,但總是會更好。 測試正確的事情很重要,所以如果你有任何問題請問。

我們的文檔小組繼續對我們的開發人員指南和API文檔做出驚人的工作。 如果您發現任何不準確或有建議,請使用側欄中的“我有問題”按鈕,并發送給我們詳細信息。

Xamarin.Forms新手指南

如果您的維基貢獻不符合這些文檔類別,請告訴我們,我們將考慮構建維基。

快樂貢獻!

我希望你會考慮為Xamarin.Forms做出貢獻。 沒有什么可以讓您的拉動請求合并,并且知道您剛剛幫助了一個巨大的驚人的開發人員社區。

有關詳細信息并開始使用:

  • open.xamarin.com for more guidance on contributing to Xamarin open source

  • github.com/xamarin/Xamarin.Forms

  • Evolution forum proposals

  • Bugzilla



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

斗六市| 红河县| 耿马| 五河县| 高安市| 安岳县| 普兰县| 万山特区| 康定县| 河南省| 修水县| 体育| 凤庆县| 镇江市| 华池县| 玉山县| 赤城县| 崇义县| 安多县| 邮箱| 濮阳县| 仁布县| 阿拉善右旗| 衡东县| 岚皋县| 吴忠市| 永登县| 武平县| 五莲县| 如皋市| 天长市| 菏泽市| 安吉县| 中阳县| 静海县| 德令哈市| 彭山县| 淄博市| 兴和县| 达日县| 资溪县|