問題タブ [vbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1590 参照

.net - コマンドラインから MSBuild を呼び出すときに DisabledWarnings をエスケープする正しい方法は何ですか?

パラメータで次のようにセミコロンをエスケープしようとしました:

/fileLoggerParameters:LogFile=msbuild.log;Append;PerformanceSummary;DisabledWarnings=1%3B2%3B3%3B40003%3B40055%3B42020%3B42021%3B42022%3B42025%3B42104%3BBC40003%3BBC40055%3BBC42020%3BBC42021%3BBC42022%3BBC42025%3BBC42104;WarningLevel=0;VbcVerbosity=Quiet /property:DisabledWarnings=1%3B2%3B3%3B40003%3B40055%3B42020%3B42021%3B42022%3B42025%3B42104%3BBC40003%3BBC40055%3BBC42020%3BBC42021%3BBC42022%3BBC42025%3BBC42104;WarningLevel=0;VbcVerbosity=Quiet

しかし、私のログでは、それらはまだエスケープされていると表示されています。

私は気にしない次のような警告を抑制しようとしています(フードの下でaspnet_compiler.exe使用していると思われます):vbc.exe

  • warning BC42020: Variable declaration without an 'As' clause; type of Object assumed.
  • warning BC42021: Function without an 'As' clause; return type of Object assumed.
  • warning BC42022: Property without an 'As' clause; type of Object assumed.

更新:引用符でのエスケープが機能したかどうかはわかりません。私はまだ警告NoWarnを受け取ります。DisabledWarnings/verbosity:quietWarningLevel=0VbcVerbosity=Quiet

更新 2:完全なビルド コマンドは次のとおりです。

Build.proj:

0 投票する
1 に答える
1997 参照

clr - .NET2.0の拡張属性を使用してCatch-22をエスケープする

2.0、3.0、3.5、4.0、および4.5を同時に対象とする単一の.NETアセンブリで、C#とVB.NETの両方のコンシューマーの拡張メソッドをサポートするにはどうすればよいですか?

標準的な提案はこれを追加することです:

このアプローチは、複数のMicrosoft従業員によって提案され、MSDNマガジンも取り上げられました。多くのブロガーから「悪影響がない」と広く歓迎されています。

ああ、それが.NET3.5以降を対象とするVB.NETプロジェクトからのコンパイラエラーを引き起こすことを除いて。

Microsoft.Core.Scripting.dllの作成者はそれを理解し、「public」を「internal」に変更しました。

これはVBの互換性の問題を解決したようです。

そのため、広く使用されているImageResizing.Netライブラリの最新バージョン(3.2.1)に対して、このアプローチを信頼して使用しました。

しかし、その後、.NET 3.5以降を対象とする特定のユーザーに対して、このコンパイラエラー(元のレポート)が多かれ少なかれランダムに発生し始めます。

MSBuild / VisualStudioコンパイラは、名前の競合を解決するときにスコープルールを気にしないようであり、アセンブリ参照の順序は十分に文書化されていない役割を果たしているため、これが発生する理由と時期を完全には理解していません。

アセンブリ名前空間の変更、プロジェクトファイルの再作成、System.Coreの削除/読み取り、ターゲットバージョンの.NET Frameworkの操作など、いくつかの厄介な回避策があります。残念ながら、これらの回避策はいずれも100%ではありません(エイリアシングを除くが、それは許容できない苦痛です)。

どうすればこれを修正できますか

  1. アセンブリ内での拡張メソッドの使用のサポートを維持し、
  2. .NET 2.0/3.0のサポートの維持
  3. .NETFrameworkのバージョンごとに複数のアセンブリを必要としません。

または、コンパイラにスコープ規則に注意を向けさせるための修正プログラムはありますか?

この質問に答えないSOに関する関連質問

0 投票する
1 に答える
1238 参照

visual-studio-2010 - 文字列をVisualBasic配列に保存する方法は?

文字列を配列に保存するにはどうすればよいのでしょうか。初心者の質問ですが、本当に助けが必要です。前もって感謝します。

0 投票する
1 に答える
2031 参照

command-line - vbc コマンドライン コンパイラ (IDE なし) を使用して shdocvw のような COM ライブラリを参照する方法は?

この質問の基礎は、support.microsoft.com のこのチュートリアルから来ています: http://support.microsoft.com/kb/176792

これは Visual Studio 2010 では問題なく動作しますが、直接のコマンドライン vbc コンパイラを使用して複製できない舞台裏の魔法に依存しているようです。

明らかに、コマンドライン コンパイラの [参照の追加] ダイアログはありません。私は素朴に追加しようとしました:

/参照:"C:\windows\system32\shdocvw.dll"

コマンドラインに追加しましたが、それは役に立ちませんでした。どちらの場合も、次のようになります。

エラー BC30002: タイプ 'SHDocVw.ShellWindows' が定義されていません。

エラー BC30002: タイプ 'SHDocVw.InternetExplorer' が定義されていません。

私は、vbscript や autohotkey などの他の言語から shdocvw.dll (別名 Shell.Application) を正常に使用しましたが、現在、VB.NET をほとんど理解していないため、間違っているのか、それとも不可能なのかを知ることができません。

0 投票する
0 に答える
155 参照

vb.net - Windows 2003 SP1 の VBC.exe が Silverlight 5 コードをコンパイルできない

vbc.exe を直接呼び出して Silverlight コードをコンパイルするソフトウェア製品があります。この Silverlight VB.Net コードのコンパイルは、.Net Framework 3.5SP1 および 4.0 がインストールされている 1 つの Windows 2003 SP2 (32 ビット) 環境を除いて、Windows 2003/XP から Windows 2012/8 環境で動作しています。

エラーは、System.StringSystem.Runtime.Serialization.DataContractが不明な型であるということです。vbc.exe が Silverlight VB.Net コードをコンパイルできないというエラーに遭遇した人System.Stringはいますか? どのように問題を解決しましたか?

0 投票する
1 に答える
222 参照

vb.net - 単一の compile.bat ファイルを実行して、異なる #Const で VB.NET プロジェクトをコンパイルしますか?

VB.NET コードをスタンドアロンの WindowsForms 実行可能ファイルにコンパイルするために、これを手動で (1 つの問題もなく) 行うことができます。しかし、これをすべてコマンドライン スクリプトから実行する方法はありますか? Vbc、MsBuild、および DevEnv にチェックインしましたが、これらはすべて、必要な手順の 1 つ (またはそれ以上) を実行できないようです。

  1. my foo.vbproj をダブルクリックして、VS2005 を起動します。
  2. #Const 変数のいくつかを true から false に変更します。
  3. F5 を押してコンパイルします。
  4. #Const を元の設定に戻します。
  5. VS2005 を終了します。
  6. 新しく作成した bin\debug\foo.exe をお楽しみください

代わりにコマンドライン スクリプトからこれを行う方法についてのアイデアはありますか? ありがとう。

0 投票する
2 に答える
33191 参照

visual-studio-2012 - Visual Studio で使用されるビルド コマンド ラインを取得する方法はありますか?

コマンド ラインからビルドを実行したいのですが、Visual Studio (2012) から正確なコマンド ライン構文を取得したいので、フラグ、インポート、その他のすべてを手動で把握する必要はありません。パラメーター。

Visual Studio でこの情報を表示する方法はありますか?

0 投票する
1 に答える
354 参照

xml - 複数の列を別のワークシートにコピーする

不要なデータがたくさんある XML フィードがあるので、列 BA に「サッカー」を含む行を新しいワークシートにコピーする次のマクロを見つけました。具体的な列 E、I、 P、T、W、Y、Z を行全体ではなくシートにするため、不要な列を非表示にする必要はありません。

サブ SearchForString()