14

プロジェクトではサードパーティのコントロールを使用しています。デザイン ビューもあるファイルをダブルクリックするたびに、Visual Studio は大胆な努力をしてデザイナーを起動しようとします。これはソース管理を不必要に妨害します。ファイルの追加により csproj も変更され、元のコード ファイルと designer.cs もチェックアウトされます (変更はありませんが)。

  1. コードを表示するだけで (右クリック、コードを表示)、デザイナー ビューは表示したくありません。
  2. 不要な変更を元に戻す必要があるたびに時間がかかります (私たちのソリューションは巨大です)。Visual Studio は、csproj が変更されてからシバン全体をリロードするため、再び応答しなくなります。
  3. ダブルクリックすると、自分が何をしたかすぐにわかりますが、その時はもう手遅れで、時計仕掛けが動き始めます。

その licx の追加を無効にする方法を誰かが知っている場合は、お知らせください。参考までに: 関連するサード パーティ ライブラリは、DevExpress WinForms と IdeaBlade DevForce Classic (DevExpress との統合があります) です。私はVS 2012を使用しています。私たちの製品はエンドユーザー製品であり、サードパーティのライブラリではありません。

明確化: 開発環境について話している。Licenses.licx ベースの .Net コンポーネント ライセンス モデルはどのように機能しますか? を参照してください。-- ソース管理に保管することはお勧めしません。私はそれについて議論したくありません。Visual Studio が常に作成しようとするのを防ぐ方法に注目しましょう。

4

5 に答える 5

12

.licx ファイルを削除するビルド後のイベントを作成できます。私たちのチームではこの煩わしさに対処してきました。手動で除外または削除する以外に、ビルド後のイベントが最善の策です。Windows フォームを開くたびに、そのフォームがサードパーティの .dll を参照または使用している場合、ファイルが再度追加されます。

コンソールを介して、またはプロジェクトを右クリックして [プロパティ] -> [ビルド イベント] を選択することにより、ビルド前後のイベントを指定できます。お役に立てれば。

于 2013-08-06T02:21:21.367 に答える
3

Lc.exe ツールを使用してプリコンパイルされたライセンスを使用していて、ビルド サーバーで licenses.licx が競合しないようにするために、この問題の解決策を探している場合は、csproj ファイルを編集して、次のような行に変更します。

<EmbeddedResource Include="Properties\licenses.licx" />

これに:

<ItemGroup Condition=" '$(Configuration)' != 'Release' " > <EmbeddedResource Include="Properties\licenses.licx" /> </ItemGroup>

于 2016-10-20T19:12:27.790 に答える
3

ポイント #1 については、ダブルクリックでデザイナーが開かないようにすることができますが、代わりに既定でコード エディターを開くことができます。

これは次の方法で実行できます。

  • フォームを持つ .cs ファイルを右クリック
  • 「...で開く」を選択します
  • 「CSharp エディター」(または VB) を選択します。
  • 「デフォルトに設定」をクリック
  • そしてOK

後で元に戻す場合は、同じ手順に従いますが、[CSharp Form Editor] を選択します。

于 2016-11-21T10:33:46.877 に答える