2017-11-03 1 views
1

ゲーテッド・チェックインの一部としてコンパイルする必要があるため、私たちの主なソリューションの一部であるXamarin iOSプロジェクトがいくつかあります。しかし、開発者のほとんどはiOSを使用していないため、Macビルドエージェントへの接続を設定しません。ビルド中にMacサーバが見つからないための警告を表示する方法(警告VSX1000)

ローカルおよび当社のサーバー上で、私たちは、この警告を参照してください。

はC:\プログラムファイル(x86の)\ 2017 \エンタープライズ\ MSBuildの\ Xamarin \ iOSの\ Xamarin.iOS \マイクロソフトのVisual Studio。 Windows.After.targets(63,5):警告VSX1000:Macサーバーへの接続を確立するためにアドレスとユーザーが指定されていないため、プロジェクト 'MyProject.iOS'用にメインアセンブリのみがコンパイルされました。 Macサーバに接続し、もう一度試して完全なアプリケーションを構築してください。

我々はVisual Studioでエラー一覧と、サーバからのビルドログから削除できるように、これは、警告するかどうかを設定するいくつかの方法はありますか?プロジェクトでは、すべての人に一度設定できるようにするのが望ましいです。

最新のVisual Studio 2017およびTFS 2017 Update 2を使用しており、vNextをビルドしています。

+0

あたり/nowarn:VSX1000を使用する必要がありますが、ローカルでビルドする際に、また同じ警告を返すようですか?ビルドパイプラインでMSBuildタスクを使用していますが、 '/ property:WarningLevel = 0' MSBuild引数で試すことができます。上記のような警告が表示されるかどうかは不明です。 –

答えて

1

警告を生成するターゲットをオーバーライドするのは面倒ですが、私の場合は、必要ないので問題ありません。

iOSプロジェクトファイルでは、条件付きで(サーバーアドレスが定義されている場合)、AvoidMacBuildWarning.targetというターゲットファイルをインポートします。プロジェクトファイルの

パーツ:

... 
</ItemGroup> 
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets"/> 
<Import Project="AvoidMacBuildWarning.target" Condition=" '$(ServerAddress)' == '' " /> 
<ItemGroup> 
... 

AvoidMacBuildWarning.target:

<?xml version="1.0" encoding="utf-8"?> 
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="_SayHello"> 
    <Message Text="Warning (demoted to message) VSX1000: No Address and User has been specified in order to establish a connection to a Mac Server, so only the main assembly was compiled for project 'MediumService.iOS'. Connect to a Mac Server and try again to build the full application." /> 
    </Target> 
    <Target Name="_SayGoodbye"> 
    </Target> 
    <Target Name="_DetectSdkLocations"> 
    </Target> 
    <Target Name="_CollectBundleResources"> 
    </Target> 
    <Target Name="_PackLibraryResources"> 
    </Target> 
    <Target Name="CopyFilesToMacOutputDirectory"> 
    </Target> 
</Project> 
1

VSTS/TFSビルドの警告動作をVisual Studioを使用したローカルビルドと比較して変更することは特別なことは何もしません。

私が知る限り、MSBプレフィックスで警告を抑制することはまだできません。参照:Supress/Disable/Solve Visual Studio Build Warning

MSBuild引数で/property:WarningLevel=0を試してみてください。上記のような警告が表示されるかどうかは不明です。もしそうでなければ、それを迂回する方法はないと恐れています。

+1

上記のスイッチが特定の警告だけでなくすべての警告を無効にすることを理解していれば、それは何とか実際に処理する必要がある警告を見ることができるという点を崩壊させます。 –

+0

@ToreØstergaardはいこれは制限です。そして、特定の警告だけを無視する方法はないと恐れていますが、これはローカルのVSを通して達成されるかもしれません。しかし、間違いなくvNextを構築することはできませんでした。 [logging command](https://github.com/Microsoft/vsts-tasks/blob/master/docs/authoring/commands.md)を使用してビルドログをカスタマイズし、powershellを使用してビルドログを呼び出すことはできますが、生成されたログを抑制することはできませんビルドサーバによる警告メッセージ。 –

+0

私は回避策を見つけて答えとして追加しましたが、Patrickにコメントしていただきたいと思います。 –

関連する問題