DOBON.NETプログラミング道掲示板

■34402 / 親記事)  モードレスフォーム Warning IDE0067を回避したい
  
□投稿者/ katu 一般人(1回)-(2019/11/28(Thu) 15:04:01)
  • アイコン環境/言語:[VB.NET 2019] 
    分類:[.NET] 

    VisualBasic 2019 Warning IDE0067

    使用済のオブジェクトを破棄しろ、という警告でしょうが

    モードレスフォームの表示コードではUsingまたはTry文はなじまないと思います


    Dim f as New frmA
    f.Show(Me)
    とするとこの警告が出ます

    メインフォームから frmA を表示するものとして
    どこでフォームを宣言して
    どこでモードレスフォームの表示コードを書き
    どこでどのような破棄コードを書けばいいのでしょうか?

    ご教示ください

    その他2019では数多くの IDE Warning が出ますが
    でなくなる、または少なくする設定があればご教示ください


マルチポストを報告
違反を報告
引用返信 削除キー/
■34403 / ResNo.1)  Re[1]: モードレスフォーム Warning IDE0067を回避したい
□投稿者/ 魔界の仮面弁士 大御所(1266回)-(2019/11/28(Thu) 21:22:57)
  • アイコンNo34402に返信(katuさんの記事)
    > VisualBasic 2019 Warning IDE0067
    > 使用済のオブジェクトを破棄しろ、という警告でしょうが

    当方では IDE0067 を再現できませんでした(CA2000 となるパターンはあり)。

    既定では、規則セットは指定されていない状態のはずなので、
    意図的にコード分析を行っている状態であろうかと思います。

    アナライザー パッケージのバージョンや規則セットが分からないので、
    検証用のサンプル プロジェクト一式を zip で上げてもらうことはできますか?

    VS2019 のバージョンと、アナライザーのバージョンも分かれば教えてください。


    なお Roslyn アナライザーは、時に誤った警告を出すこともあるので、
    判断された内容に問題があると思った場合には、github にて
    提案(あるいは同様の報告の調査)してみると良いかもしれません。

    https://github.com/dotnet/roslyn/issues?utf8=%E2%9C%93&q=IDE0067
違反を報告
引用返信 削除キー/
■34404 / ResNo.2)  Re[2]: モードレスフォーム Warning IDE0067を回避したい
□投稿者/ katu 一般人(2回)-(2019/11/29(Fri) 10:05:42)
  • アイコンNo34403に返信(魔界の仮面弁士さんの記事)
    ありがとうございます


    > VS2019 のバージョンと、アナライザーのバージョンも分かれば教えてください。
    Community 2019 バージョン16.3.10
    アナライザーのバージョン:申し訳ございません、どこにあるのか分かりません

    > https://github.com/dotnet/roslyn/issues?utf8=%E2%9C%93&q=IDE0067
    数多く報告されていますが解決策が見つかりませんでした

    サンプルプロジェクト添付しようとしましたが
    502Bad Gateway
    となりました

    よろしくお願いいたします
違反を報告
引用返信 削除キー/
■34405 / ResNo.3)  Re[3]: モードレスフォーム Warning IDE0067を回避したい
□投稿者/ katu 一般人(3回)-(2019/11/29(Fri) 10:38:05)
  • アイコンNo34404に返信(katuさんの記事)

    > サンプルプロジェクト添付しようとしましたが
    > 502Bad Gateway
    > となりました

    おかしな現象がありました
    オリジナルのサンプルプロジェクトではIDE0067がでるのですが
    zio作成が悪かったのかと思い送ろうとしたzipを解凍して
    プロジェクトを読み込む正常に読み込み、IDE0067はでません




違反を報告
引用返信 削除キー/
■34406 / ResNo.4)  Re[3]: モードレスフォーム Warning IDE0067を回避したい
□投稿者/ 魔界の仮面弁士 大御所(1267回)-(2019/11/29(Fri) 10:46:03)
  • アイコンNo34404に返信(katuさんの記事)
    > Community 2019 バージョン16.3.10

    こちらも 16.3.10 です。Enterprse 2019 ですけれど。

    新規プロジェクトにおいては、既定では分析機能は有効になっておらず、
    提示のコードを入力するだけでは警告が表示されることは無いはずです。

    どこかの時点で、意図的に分析設定を有効にしていたのでしょう。


    > サンプルプロジェクト添付しようとしましたが
    > 502Bad Gateway
    > となりました

    では、規則セットは分かりますか?

    検証コードの .vbproj をメモ帳で開いた上で、XML タグの

    ・/Project/Import の一覧
    ・/Project/PropertyGroup/CodeAnalysisRuleSet

    の内容を教えてください。
    新規プロジェクトだと、上記のどちらも存在しないことがありますので、
    現象の発生しているプロジェクトの物で確認して下さい。
違反を報告
引用返信 削除キー/
■34407 / ResNo.5)  Re[4]: モードレスフォーム Warning IDE0067を回避したい
□投稿者/ katu 一般人(4回)-(2019/11/29(Fri) 12:58:03)
  • アイコンNo34406に返信(魔界の仮面弁士さんの記事)

    お送りしようとしたプロジェクトは新規作成ですが

    Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim f As New Form2
    f.Show(Me)
    End Sub

    これでIDE0067が出ました

    このプロジェクトファイルには
    CodeAnalysisRuleSet
    は、ありません

    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Collections.Generic" />
    <Import Include="System.Data" />
    <Import Include="System.Drawing" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
    <Import Include="System.Linq" />
    <Import Include="System.Xml.Linq" />
    <Import Include="System.Threading.Tasks" />

違反を報告
引用返信 削除キー/
■34408 / ResNo.6)  【報告】この投稿はマルチポストです
□投稿者/ (報告) 大御所(272回)-(2019/11/29(Fri) 21:36:45)
  • アイコンこの投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。

    ●マルチポストされている場所
    https://social.msdn.microsoft.com/Forums/ja-JP/b72dc588-38a8-45b7-87dd-a136001b0e2c/warning0067?forum=vsgeneralja

    ----------
    この掲示板ではマルチポストが禁止されています。詳しくは、「書き込みのルールについて」をお読みください。

    ●書き込みのルールについて
    https://dobon.net/vb/bbs/index.html
違反を報告
引用返信 削除キー/
■34409 / ResNo.7)  Re[6]: 【報告】この投稿はマルチポストです
□投稿者/ katu 一般人(5回)-(2019/11/30(Sat) 09:26:13)
  • アイコンNo34408に返信((報告)さんの記事)
    > この投稿はマルチポストです。もし元記事の投稿者にマルチポストの心当たりがない場合は、すぐに返信でお知らせください。
    >
    > ●マルチポストされている場所
    > https://social.msdn.microsoft.com/Forums/ja-JP/b72dc588-38a8-45b7-87dd-a136001b0e2c/warning0067?forum=vsgeneralja

    魔界の仮面弁士さん、みなさま
    申しわけございませんでした

    以下で警告されなくなりましたのでご迷惑お掛けしましたが
    解決とさせていただきます


    Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim completionSource As New System.Threading.Tasks.TaskCompletionSource(Of Object)
    Using fas As New frmA
    AddHandler fas.FormClosed, Sub()
    completionSource.TrySetResult(Nothing)
    End Sub
    fas.Show(Me)
    Await completionSource.Task
    End Using
    End Sub
解決み!
違反を報告
引用返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/


- Child Tree -