3

Sayed Hashimi とその会社が SlowCheetah で行った急速なペースと素晴らしい作業、特に、SlowCheetah が単にパッケージ化して公開するのではなく、ビルド時にファイルを変換できるかどうかについて、私は混乱しています。

私は SlowCheetah をインストールしており、開発チームと協力してデプロイするコンソール アプリケーションの app.config のビルド構成インスタンスを自動生成できます。ビルド時に、新しい "SlowCheetah" ディレクトリが $(ProjectDir)\obj\x86\$(BuildConfig) ディレクトリの下に作成されます。たとえば、obj\x86\STAGE\SlowCheetah ディレクトリには、STAGE 変換を右クリックして [変換の表示] を選択すると表示されるように、変換が完了した app.config ファイルが含まれています。

ただし、\bin\$(BuildConfig) ディレクトリには、bin\x86\ の app.config ファイルを置き換える代わりに、変換されていない app.config ファイルと、各 $(BuildConfig) 変換のすべてのテンプレートが含まれています。 SlowCheetah の STAGE ディレクトリ。

ビルドはエラーなしで完了します。

これは予期された動作ですか、それとも何かがまだ正しく機能していませんか?

@sayed-ibrahim-hashimi 各 $(Configuration) には変換があります。変換は、Visual Studio で表示すると正しく表示され、\obj ディレクトリ ツリーの下の \slowcheetah ディレクトリで正しく変換されます。変換の例は次のとおりです。

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform
<connectionStrings>
<add name="Portal" connectionString="Data Source=transformtestserver.domain.local;Initial Catalog=TestDB;User Id=TestUser;Password=testpw1;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="DictionaryDatabase" connectionString="Data Source=transformtestserver.domain.local;Initial Catalog=TestDB;User Id=TestUser;Password=testpw2;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="LoggingDatabase" connectionString="Data Source=transformtestserver.domain.local;Initial Catalog=TestDB;User Id=TestUser;Password=testpw3;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>    
</connectionStrings>
</configuration>

この問題は、Nuget/ソリューションの構成に関連している可能性があります。私が取り組んでいるプロジェクトは、非常に大きなソリューションの一部です。SlowCheetah をインストールして動作させるのに苦労しました。ある時点で Nuget を見つけたところ、SlowCheetah がインストールされているが、ソリューション パッケージ ディレクトリに SlowCheetah が含まれていませんでした。

\obj ディレクトリから変換された app.config ファイルをピックアップするように TeamCity で回避策を設定しましたが、SC を完全な開発グループにロールアウトできるように問題を解決したいと考えています。詳細を指摘できる詳細なログはありますか?

4

2 に答える 2

0

重複する SlowCheetahTargets セクションを探します。古いバージョンと新しいバージョンがあり、古いバージョンは nuget パッケージ ディレクトリに存在しなくなった場所を指していました。

古い/重複した SlowCheetahTargets セクションのプロパティ グループ全体を削除すると、修正されるはずです。

于 2014-01-30T07:45:47.723 に答える