2011-09-16 26 views
2

Hudson CIからVisual Studioパッケージプロジェクトをビルドしようとしています。これはVisual Studio 2010プロジェクトです。プロジェクトは、私の開発ボックスで正常にビルドされますが、何らかの理由で、私はハドソンでのビルド時にのみ、次のエラーが表示されます。VSIXマニフェストファイルの読み込み中にエラーが発生しました...指定されたファイルが見つかりません

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ VSSDK \ Microsoft.VsSDK.targets(378,5):エラー:VSIXマニフェストファイル "obj \ Release \ extension.vsixmanifest"の読み込み中にエラーが発生しました。システムは、指定されたファイルを見つけることができません。 (HRESULTからの例外:0x80070002が)[C:\ハドソン\ワークスペース\ MyProject_Daily_Compilation \ソース\ MyProject.VisualStudio \ MyProject.VisualStudio.csproj]

Iファイルが次の場所にディスク上に存在することを確認した:

C:¥Hudson¥workspace¥MyProject_Daily_Compilation¥Source¥MyProject.VisualStudio¥obj¥Release¥extension.vsixmanifest

この問題の原因は何ですか?

答えて

2

私はサービスとしてハドソンを実行していると思います。もしそうなら、 "0x80070002 - システムは指定されたファイルを見つけることができません"というのは、hudsonを実行するために使用されているユーザーがアクセス権を持たないためです。

ハドソンサービスの「ログオン」ユーザーを通常のアカウントに変更するのが簡単な解決方法です。

+0

実際には、Hudsonの新しいマシン管理者アカウントを作成し、HudsonサービスのLog Onユーザーとして使用して解決しましたが、これはかなり考えています。 –

+0

だから誰も*なぜ*これは起こっていると言うことができますか? TeamCityでほとんど同じことを経験する。 –

8

ビルドを実行しているユーザーに管理者権限がない場合は、このようなエラーが発生する可能性があります。

1)管理者権限でビルドを(サーバーを構築)を実行します:

だから2つのソリューションがあります。

またはあなたが本当にあなたのビルドサーバーが

2上で実行しているユーザーを変更することはできません)、あなたが実際にビルドサーバー自体のVSの拡張機能を導入する必要はありません、あなたにDeployExtensionプロパティを設定する場合* .csprojファイルをfalseに設定します。

Microsoft.VsSDK.targets真

<DeployExtension Condition="'$(DeployExtension)' == ''">true</DeployExtension> 

いますが、ローカルでその拡張子を展開する必要はありません(しかしむしろことができます建て* .vsixバンドルを取得することを好む場合には、デフォルトでは、そのプロパティを設定します安全に展開パスを取得しようとする試みは、ビルドの中でいくつかの点で失敗し、成功したVSIXパッケージ生成を妨害するため、元のエラーは基本的に起こっている

<PropertyGroup> 
    <DeployExtension>false</DeployExtension> 
</PropertyGroup> 

を置く。falseにビルドをプロパティを設定することでしようとしません。拡張機能をローカルに展開する(しかし、有効な* .vsixが生成されます)

+1

実際のプロジェクトを編集する必要はありません。それはプロジェクトのプロパティです。しかし、これは私の問題をTeamCityで解決しました。 –

関連する問題