1

ある時点でMicrosoftExceldllを使用するVB.net2010でプロジェクトをコンパイルしようとしています。コンピューターからコンパイルすると問題なく動作しますが、TFSを使用して新しいビルドをキューに入れると、Microsoft.Interop.Excel...定義されていないエラーが発生します。Microsoft Office 2010をTFSサーバーに直接インストールしましたが、それでも同じエラーが発生します。

これを機能させるために実行する必要のある構成はありますか?

編集:

ビルドで表示される一般的なエラーメッセージ:

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

エラーBC30002:タイプ'Microsoft.Office.Interop.Excel.Application'が定義されていません。

警告BC40056:インポート'Microsoft.Office.Interop'で指定された名前空間またはタイプにパブリックメンバーが含まれていないか、見つかりません。名前空間またはタイプが定義されており、少なくとも1つのパブリックメンバーが含まれていることを確認してください。インポートされた要素名がエイリアスを使用していないことを確認してください。

4

3 に答える 3

3

TFSに保持されているlibフォルダーにdllを含め、その場所からdllを参照する必要があります。プロジェクトでは、dllがインストールされている場所ではありません。

編集:

開発者は通常、C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Visual Studio Tools for Office \ PIA \Office15からInteropPIAを参照しますが、このフォルダーはサーバー上に存在しません。

これらのファイル(Microsoft.Office.Interop.Excel.dllなど)をソース管理のlibまたはrefsフォルダーにコピーし、PIAパスにあるものではなくソリューションからこれらのDLLを参照する必要があります。

また、ReferenceAssembliesフォルダーのDLLについても同じことが言えます。例:

C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5 \ System.Windows.Forms.dll

于 2012-07-14T04:06:32.240 に答える
0

違いが生じる場合に備えて、TFSサーバーについて言及しましたが、必ずしもビルドが行われている場所ではありません。

ビルドレポート(TFSでエラーが発生した可能性が高い)には、ビルドマシンがソースコードを格納している場所へのパスが示されている必要があります。デフォルトでは、パスはc:\buildの下にあります。最初のステップとして、ビルドエージェントがインストールされているマシンのデスクトップに移動することをお勧めします(チームエクスプローラーで[ビルド]ノードを右クリックし、[コントローラーの管理...]を選択すると、ビルドエージェントのリストが表示されます)。正しいマシンのデスクトップを使用している場合は、そのパスから同じマシン上の別の場所にソースフォルダーをコピーし、新しいコピーソリューションファイルを開いてVisualStudioでビルドします。ローカルマシンの場合と同じようにビルドのトラブルシューティングを行います。そのビルドマシンに何かが欠けているため、これらの手順を実行すると、ビルドをより簡単に見つけることができます。

于 2012-07-13T21:51:49.550 に答える
0

ビルドマシンでビルドを手動で実行してみてください。最初にビジュアルスタジオで、次にmsbuildで。これは失敗するはずですが、何が起こっているのか、なぜ失敗しているのかをよりよく理解できる可能性があります。Exceldllが自分のマシンと同じ場所にない可能性があります。

于 2012-07-14T19:03:10.200 に答える