我们有一些iOS项目是我们的主要解决方案的一部分,因为我们需要确保它们作为门控签入的一部分进行编译。但是,我们的大多数开发人员都不使用iOS,因此不配置到Mac代理的连接。
在本地和服务器上构建时,我们会看到以下警告:
C:\程序文件(x86)\Microsoft Visual x86警告VSX1000:未指定地址和用户以建立到Mac的连接,因此只为项目“MyProject.IOS”编译了主程序集。连接到Mac服务器,然后再试着构建完整的应用程序。
是否有某种方式来配置这是否应该是警告,以便我们可以从Visual中的错误列表和服务器上的构建日志中删除它?最好在项目中完成,以便为每个人设置一次。
我们正在使用最新的2017和TFS 2017更新2并构建vNext。
发布于 2017-11-08 14:19:20
一个肮脏的解决方法是覆盖产生警告的目标--在我的情况下,这很好,因为我不需要它们。
在我们的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>发布于 2017-11-06 11:25:21
在VSTS/TFS构建中,与通过visual studio进行的本地构建相比,我们没有做什么特别的事情来更改警告行为。
据我所知,使用MSB前缀抑制警告仍然是不可能的。参见:抑制/禁用/解决Visual生成警告
您可以通过/property:WarningLevel=0参数来尝试使用MSBuild。不确定它是否能与上面的这种警告一起工作。如果没有,恐怕没有办法绕过它。
发布于 2017-11-21 21:40:46
您应该在每个/nowarn:VSX1000中使用msbuild文档
https://stackoverflow.com/questions/47097076
复制相似问题