У меня была похожая проблема с тем же сообщением об ошибке, и после большого разочарования я нашел решение (которое, мы надеемся, даст некоторые идеи для этого).
Здесь у нас есть сервер сборки с Windows SDK7.1 (и 6.1 при использовании Vs 2008) сборка проектов VS 2010, нацеленных на .NET 3.5.Затем веб-проекты предварительно компилируются с помощью aspnet_compiler (начиная с версии v2 согласно http://msdn.microsoft.com/en-us/library/ms229863.aspx#findingthecorrectversion).). Во время предварительной компиляции я получил то же сообщение об ошибке, что и вы, для проекта (не веб, просто обычная библиотека) с веб-ссылкой наПохоже, что Windows SDK 7.1 неправильно устанавливает пути реестра для использования инструментов .NET 3.5 (в отличие от Visual Studio), поэтому веб-ссылки компилируются с целевой средой выполнения .NET 4 (проверенос использованием рефлектора), поэтому aspnet_compiler v2 подошел. Я сравнил параметры реестра сервера сборки и мою локальную установку Visual Studio, которая показала, что конфигурация .NET 3.5 для SDK 7.1 не подходит, поэтому я исправил сервер сборки следующим образом.Предположим, веб-ссылка xml (в не-веб-проекте) была предварительно скомпилирована с помощью sgen для .NET 4 в качестве запасного варианта из-за неправильного использования .NET 3.5 sgen. После применения изменения реестра все было в порядке (не существует в моем реестре сервера сборки, поэтому я его создал).
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1\WinSDK-NetFx35Tools-x86]
"ComponentName"="Windows SDK .NET Framework 3.5 Multi-targeting Utilities"
"InstallationFolder"="C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\bin\\"
"ProductVersion"="7.1.7600.0.30514"
В качестве дополнительной заметки я также использовал WindowsSdkVer для установки 7.1 в качестве SDK по умолчанию.