こんにちは、TeamCityでサーバーを構築しています。私のプロジェクトはSitecore Webアプリケーションです。私はTDS(HedgehogDevelopment)を使用しています。 TeamCityでMSビルドを使用してビルド設定をセットアップしましたが、ビルド構成マネージャーでTDSプロジェクトが無効になっていると動作しているように見えます。しかし、それは私がネットエラーを取得しています
C:\ Program Files(x86)\ MSBuild\HedgehogDevelopment\SitecoreProject\v9.0\HedgehogDevelopment.SitecoreProject.targets(310、5):エラーMSB4036:「TransformXml」タスクが見つかりませんでした。以下を確認してください。1.)プロジェクトファイル内のタスクの名前は、タスククラスの名前と同じです。 2.)タスククラスは「パブリック」であり、Microsoft.Build.Framework.ITaskインターフェイスを実装します。 3.)タスクは、プロジェクトファイルまたは「C:\ Windows\Microsoft.NET\Framework64\v3.5」ディレクトリにある* .tasksファイルで正しく宣言されています。プロジェクトNetKey.TDSMaster\MyProject.TDSMaster.scprojが失敗しました。 Project Website\MyProject.slnが失敗しました
エラーの説明のヘルプは私には当てはまりません。ビルドマシンにVS 2012がありません。 WebプロジェクトをサポートするためにMicrosoft Visual Studio 2012 Shellをインストールしました。解決方法ありがとう。
TransformXML
は、ASP.NET Web公開ツールの一部として提供されます。そのため、通常、ビルドサーバーにVisual Studioがインストールされており、Visual Studioのシェルバージョン以上のものが必要です。 Visual Studio Express Web Editionをインストールすることでもうまくいくかもしれません。
Web-Deploy
package 十分かどうかを確認しますが、通常はビルドエージェントにVisual Studioのフルバージョンをインストールします。これは、MSDNサブスクリプションライセンスでは合法です。
いくつかの実験の後、これらのタスクが公式の方法でインストールされるようにするには、ビルドサーバーに少なくともVisual Studio Web Developer Toolsをインストールする必要があることがわかります。 Visual Studio Express Web Editionをインストールすれば十分だと思います。
これを試して:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
私がしなければならなかったこと:
_<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets" Condition="!Exists('$(VSToolsPath)\Web\Microsoft.Web.Publishing.targets')" />
_
VS2013で[ファイル]-> [新しいWebプロジェクト]を実行すると、*。csprojファイル内で次のようになります。
_<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
_
ビルドマシンと複数の開発マシンでは、$(VisualStudioVersion)
は常に_11.0
_と評価されました。 _12.0
_であるVS2013を搭載したマシンでも。
それに飛び込むと、上からの_Microsoft.WebApplication.targets
_には、ファイル_Microsoft.Web.Publishing.targets
_をインポートするための行があります(行377のように存在する場合のみ):
_<!--Import publishing target-->
<Import Project="..\Web\Microsoft.Web.Publishing.targets" Condition="Exists('..\Web\Microsoft.Web.Publishing.targets')" />
_
私にとって、これは暗黙 _Microsoft.Web.Publishing.targets
_のインポートです。
問題は、このファイルが存在しない場合、何も実行せず、TransformXml
タスクを使用しようとしたときにエラーが発生するまでそれを知らないことです。
VS2013をインストールしても、_Microsoft.Web.Publishing.targets
_は_11.0
_ディレクトリにインストールされませんでした。 _12.0
_ディレクトリにインストールしました。 VS2012をインストールした場合、wouldを実行します。
いずれにせよ、explicitly _Microsoft.Web.Publishing.targets
_が存在せず存在しなかった場合に_12.0
_ディレクトリからインポートすることで解決できました暗黙的に = _Microsoft.WebApplication.targets
_によってインポートされます:
_<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets" Condition="!Exists('$(VSToolsPath)\Web\Microsoft.Web.Publishing.targets')" />
_
Visual Studio 2017では、デフォルトでほとんどの(またはすべての)コンポーネントはインストールされませんが、 https://docs.Microsoft.com/en -us/visualstudio/install/modify-visual-studio 。
私のマシンでは、「C:\ Program Files(x86)\ Microsoft Visual Studio\Installer\vs_installer.exe」にあるインストーラー
VS2015でTypeScriptツールを2.4.10から2.3.3にダウングレードした後、同じ問題が発生しました。
ソリューション:
これをMicrosoft.TypeScript.targetsファイルから削除します
<FormatLocalizedString Condition="'$(TypeScriptVersionCheckResult)' == 'NoneSpecified'"
Culture="$(PreferredUILang)"
Name="TypeScriptNoVersionWarning"
Arguments="$(LastKnownTypeScriptVersion)">
<Output TaskParameter="String" PropertyName="TypeScriptNoVersionWarning" />
</FormatLocalizedString>
<FormatLocalizedString Condition="'$(TypeScriptVersionCheckResult)' == 'Downgrade' OR '$(TypeScriptVersionCheckResult)' == 'Upgrade'"
Culture="$(PreferredUILang)"
Name="TypeScriptVersionMismatchWarning"
Arguments="$(TypeScriptToolsVersion);$(LastKnownTypeScriptVersion)">
<Output TaskParameter="String" PropertyName="TypeScriptVersionMismatchWarning" />
</FormatLocalizedString>