2017-12-05 12 views
-2

私はC#プロジェクトを引き継いだが、私はC#/ Visual Studioの世界ではかなり新しい。Visual Studio:Release BuildはAssemblyVersionを変更し続け、それに不平を言う(CS7034)

「デバッグ」構成での開発中、プロジェクトはうまく構築されました。しかし、私は "リリース"設定に切り替えたので、私はエラーCS7034を取得し続けます:指定されたバージョンの文字列が必要な形式に準拠していません - メジャー[。ビルド[。リビジョン]]

AssemblyInfo.csに私が持っている、構築:

[assembly: AssemblyVersion("2.4.0.4129")] 
[assembly: AssemblyFileVersion("2.4.0.4129")] 

をしかし、構築プロセスが

[assembly: AssemblyVersion("2.4.0.-1")] 
[assembly: AssemblyFileVersion("2.4.0.-1")] 

と-1にこれを変更し続けることは有効な数値ではありません。その変化はどこから来たのですか?

私はSVNからgitに切り替えました。AnkhSVNの統合を永久に取り除くことはできませんでした。それが原因だろうか? 4128は最新のSVNリビジョン番号でした。プラグインが最新のリビジョンを探していて、何も見つからない可能性があります。結果は-1になりますか?

+1

ビルド番号を更新するカスタムプラグインまたはポストビルドイベントがありますか?これはデフォルトの動作ではありません。 (私はSCCが_build_上のファイルを更新するとは期待していませんが、通常はそれに関与しません) – stuartd

+0

ビルド前に自動的にバージョン番号を変更するカスタムビルドツールを使用します。そのための標準的な解決策はありません、ほとんど誰もが何かを一緒にcobbles。これは壊れています。 –

+0

ビルド前またはビルド後のイベントはありません。 JetBrains Riderを使用してコンパイルするのと同じ効果があります。古いSVNリポジトリでコンパイルが動作します。私は混乱している... – user2727133

答えて

0

解決策が見つかりました。 .csprojファイルには以下が含まれています。

<Target Name="BeforeBuild" Condition="$(Configuration) == 'Release'"> 
... 

このターゲットでは、置換が指定されました。

関連する問題