У меня есть проект, который в настоящее время успешно компилируется на моей машине разработки с использованием VS 2010 (предположительно с использованием MSBUILD v4.0), но он не работает под MSBUILD v3.5 в Team City (работает на виртуальной машине на базе сервера Win 2003 с .NET 2). , 3.5 и 4 установлены). Этот проект был недавно обновлен до версии 2010, и теперь его сборка CI не работает. Я гуглил это и пробовал все очевидное (плюс несколько вещей, которые не имели смысла), и ничего не повлияло на результат.
Проект завершается с ошибкой, подобной этой:
error CS0234: The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
В решении есть множество других проектов, использующих System.Core, System.Data.Linq и System.Xml.Linq, и все они компилируются без проблем. Рассматриваемый проект является веб-приложением и имеет следующие настройки в разделе конфигурации/system.web/compilation/assemblies:
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
Плюс следующее в том же файле:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
Рассматриваемый проект, IIRC, единственный проект в моем решении, который одновременно является веб-приложением и подвергается постобработке с помощью PostSharp (v1.5). PostSharp настроен в .csproj следующим образом:
<PropertyGroup>
<DontImportPostSharp>True</DontImportPostSharp>
<PostSharpUseCommandLine>True</PostSharpUseCommandLine>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(POSTSHARP15)\PostSharp-1.5.targets" />
Не знаю, как это может быть связано, но на всякий случай.
Любые идеи о том, что вызывает эту ошибку или о том, как обойти эту проблему?
ТИА