Проблеми з побудовою .NET 4.0 на сервері CI


99

Хтось вдається отримати .NET 4.0 програми, що збираються на сервері CI, не встановлюючи Visual Studio 2010 на сервер CI?

Не існує SDK для .NET 4.0. Встановили .NET 4.0 на сервер CI. Msbuild.exe працює для простих проектів і подає таке попередження:

(Ціль GetReferenceAssemblyPaths) -> C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (847,9): попередження MSB3644: Контрольні збірки для фреймворку ".NETFramework, Version = v4.0" не були знайдені. Щоб вирішити цю проблему, встановіть пакет SDK або Targeting Pack для цієї версії рамки або переназначте свою програму на версію рамки, для якої встановлений пакет SDK або Targeting Pack. Зауважте, що збірки будуть вирішені з кеша глобальної асамблеї (GAC) і будуть використовуватися замість еталонних зборів. Тому ваша збірка може бути неправильно орієнтована на рамки, які ви плануєте.


1
Як я можу зробити цю фатальну помилку, а не попередження? Це приховано в нашому журналі збірки, і натомість він не дає подальшого запису із криптовим повідомленням про mscorlib.dll
Полковник Паніка

Я написав докладний пост про це тут: neelbhatt.com/2018/05/04/…
Neel

Відповіді:


128

Вам більше не потрібно встановлювати VS, зараз можна встановити "Microsoft Windows SDK для Windows 7 та .NET Framework 4".

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b


44
За замовчуванням встановлено 1,7 Гб, але більшість цих файлів непотрібні. Якщо ви скасуєте все, окрім .NET Development> Intellisense та Reference Assembly, які все одно нададуть вам необхідний пакет орієнтації .NET 4 (це близько 450 МБ).
Люк Сампсон

1
Ви також можете перевірити .NET Development> Інструменти як, що принесуть кілька утиліт, таких як sn.exe, які стануть у нагоді для роботи з підписаними збірками.
Mykro

8
Також є веб-інсталятор, тому вам потрібно лише завантажити необхідні деталі. Завантажити можна тут: microsoft.com/download/uk/confirmation.aspx?id=8279
Расмус

2
Хоча це названо "для Windows 7", варто відзначити підтримувані операційні системи: Windows 7, Windows Server 2003 R2 Standard Edition (32-бітний x86), Windows Server 2003 R2 Standard x64 Edition, Windows Server 2008, Windows Server 2008 R2 , Windows Vista, Пакет оновлень 3 для Windows XP
Aligma

2
Ця відповідь допоможе мені. У мене була інша проблема встановлення sdk 7.1, яку вирішили, як показано тут mathworks.com/matlabcentral/answers/95039
арі

23

SDK для .NET 4.5 доступний тут . Інсталятор добре працює з проксі-сервером з базовою авторизацією. Підтримувані операційні системи: Windows 8, Windows Server 2012, Windows 7, Windows Server 2008 R2

PS Моя відповідь більше нагадує коментар до відповіді Джеремі , але у мене недостатньо репутації, щоб коментувати відповіді.


1
З посилається на сторінці: "Пакет SDK для Windows більше не постачається з повним середовищем збирання командного рядка. Тепер для створення SDK для Windows потрібен окремий інсталятор компілятора та середовища збирання." Тому я припускаю, що цього недостатньо для запуску сервера збірки.
Кріс

1
Це зафіксувало це для мене. Вам потрібно вибрати лише опцію ".NET Framework 4.5 Kit для розробки програмного забезпечення", яка вимагає лише 62,3 Мб і прекрасно працює на сервері TFS Build 2013, встановленому на Windows Server 2012 R2 для розгортання SharePoint Apps. Не потрібно перевизначати параметр FrameworkPathOverride.
Коен Зомерс

10

інша альтернатива: без встановлення Net 4.0 SDK або проти 2010 року

Скопіюйте папку довідкових збірок зі свого пристрою розробників для створення сервера (190 МБ).

використовуйте параметр msbuild -p: FrameworkPathOverride, щоб вказати на папку посилальних збірок

розташування опорних вузлів:

C: \ програмні файли (x86) \ довідкові збори \ Microsoft \ Framework \ .NETFramework \ v4.0 або C: \ програмні файли \ еталонні збори \ Microsoft \ Framework \ .NETFramework \ v4.0

знайшов це у:

.NET 4.0 збірки посилань сервера посилань попередження MSB3644

Якщо ви отримаєте цю помилку: "Microsoft.WebApplication.targets не знайдено" - просто скопіюйте ціль із машини для розробників https://stackoverflow.com/a/5344246/423356

якщо mvc3 не встановлений на сервері збірки; "додати розгорнуті збірки" до проекту mvc http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

Якщо у вас є помилка при створенні проекту MSTest без встановлення sdk або візуальної студії; Про це є кілька публікацій у блозі, до поганого рішення для мене це занадто складно. Я використовую NUnit замість MSTest


Оскільки мій сервер 2012 року не дозволив мені встановити. Net 4, оскільки інсталятор сказав, що існує більш висока версія. Я зробив те, що сказав @kite, і скопіював з ПК, на якому було встановлено VS 2012. Це вирішило мої проблеми.
chdev77

0

На цій сторінці перелічені .NET SDK-версії для кожної версії Visual Studio. http://blogs.msdn.com/b/dotnet/p/dotnet_sdks.aspx

Для меншої завантаження виберіть «пакет розробників» або «пакет націлювання», а не повний пакет SDK для Windows.


Встановити пакет розробників або націлювальний пакет може бути загальною порадою, але специфічно для .NET Framework 4.0 (все це питання) такого пакету немає, і Windows SDK неминучий.
Лекс Лі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.