คำถามติดแท็ก msbuild

Microsoft Build Engine หรือที่เรียกว่า MSBuild เป็นแพลตฟอร์มการสร้างสำหรับโค้ดที่มีการจัดการและเป็นส่วนหนึ่งของ. NET Framework

4
.NET 4.0 สร้างปัญหาบนเซิร์ฟเวอร์ CI
มีใครจัดการเพื่อรับแอปพลิเคชัน. 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, เวอร์ชัน = v4.0" ไม่พบ ในการแก้ไขปัญหานี้ให้ติดตั้ง SDK หรือ Targeting …

2
msbuild.exe ยังคงเปิดอยู่กำลังล็อกไฟล์
ฉันใช้ TeamCity ซึ่งจะเรียกใช้ msbuild (.NET 4) ฉันมีปัญหาแปลก ๆ หลังจากการสร้างเสร็จสมบูรณ์ (และดูเหมือนจะไม่สำคัญว่าจะเป็นงานสร้างที่ประสบความสำเร็จหรือไม่) msbuild.exe จะยังคงเปิดอยู่และล็อกไฟล์ใดไฟล์หนึ่งซึ่งหมายความว่าทุกครั้งที่ TeamCity พยายาม เพื่อล้างไดเร็กทอรีงานล้มเหลวและไม่สามารถดำเนินการต่อได้ สิ่งนี้เกิดขึ้นเกือบทุกครั้ง ฉันหลงทางกับเรื่องนี้จริงๆดังนั้นฉันจะพยายามให้รายละเอียดให้มากที่สุด เซิร์ฟเวอร์เป็น Intel Core i7 แรม 2 GB พร้อม Windows Server 2008 64-bit SP2 มาตรฐาน ใน TeamCity ตัววิ่ง msbuild ถูกกำหนดค่าด้วย/mพารามิเตอร์บรรทัดคำสั่ง (ซึ่งหมายถึงการใช้หลายคอร์) แฟ้มในคำถามคือเสมอ DLL ที่ภายนอกเช่นเดียวกับที่มีการอ้างอิงในหนึ่งในโครงการ .NET External Tools\Telerik\Telerik.Reporting.Dllในเส้นทาง (มีไฟล์. DLL อื่น ๆ อีกหลายไฟล์ที่รวมอยู่ในExternal Toolsdir ในโครงสร้างพา …
99 msbuild  teamcity 

9
มีบทช่วยสอนที่ดีเกี่ยวกับสคริปต์ MSBuild หรือไม่? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำโปรเจ็กต์เว็บแอปพลิเคชันและฉันต้องการสร้างสคริปต์การสร้าง สร้างสคริปต์ที่ฉันสามารถทริกเกอร์จากเซิร์ฟเวอร์ cruisecontrol ของฉัน เนื่องจากแนนต์ไม่ได้รับการดูแลมาเป็นเวลานานฉันจึงคิดว่า MSBuild เป็นหนทางที่จะไป ฉันต้องการสร้างสคริปต์เพื่อให้สามารถ รวบรวมแอสเซมบลีทั้งหมด ดำเนินการทดสอบหน่วย เรียกใช้การวิเคราะห์ NCover ในการทดสอบหน่วย ปรับใช้ฐานข้อมูล (ขึ้นอยู่กับพารามิเตอร์) นี่เป็นการเรียกใช้เครื่องมือจริงๆเนื่องจากฉันจะเขียนเครื่องมือของตัวเองเพื่อปรับใช้ฐานข้อมูล แต่การทำงานของเครื่องมือควรเป็นไปตามเงื่อนไขตามพารามิเตอร์บรรทัดคำสั่ง ส่งมอบการทดสอบหน่วยและผลการครอบคลุมในรูปแบบที่ cruisecontrol สามารถอ่านและทำความเข้าใจได้ ฉันคิดว่า MSBuild จะอนุญาตให้ฉันทำสิ่งเหล่านี้ทั้งหมด แต่ฉันไม่รู้ว่าจะเริ่มจากตรงไหน มีใครรู้วิธีการสอนที่ดีในการเริ่มต้นสร้างสคริปต์ของฉันบ้างไหม

4
คุณกำหนดเป้าหมายไลบรารีคลาส. NET Core หลายเป้าหมายด้วย csproj ได้อย่างไร
เมื่อ. NET Core ยังคงใช้project.jsonรูปแบบคุณสามารถสร้างไลบรารีคลาสที่กำหนดเป้าหมายหลายเฟรมเวิร์ก (เช่น net451, netcoreapp1.0) ตอนนี้รูปแบบโครงการอย่างเป็นทางการกำลังcsprojใช้ MSBuild คุณจะระบุกรอบงานหลายรายการเพื่อกำหนดเป้าหมายได้อย่างไร? ฉันพยายามที่จะมองหานี้จากการตั้งค่าโครงการใน VS2017 แต่ฉันสามารถที่จะกำหนดเป้าหมายเฉพาะกรอบเดียวจากกรอบ .NET หลัก (มันไม่ได้มีรายการอื่น ๆ รุ่น .NET Framework เต็มรูปแบบซึ่งผมไม่ได้ติดตั้ง) :

19
จะล้างโฟลเดอร์ bin และ obj ภายใน Visual Studio ได้อย่างไร
หากคุณคลิกขวาที่โฟลเดอร์คุณจะเห็นรายการเมนู "Clean" ฉันคิดว่านี่จะเป็นการล้าง (ลบ) ไดเร็กทอรี obj และ bin อย่างไรก็ตามเท่าที่ฉันเห็นมันไม่ได้ทำอะไรเลย มีวิธีอื่นอีกไหม (โปรดอย่าบอกให้ฉันไปที่ Windows Explorer หรือ cmd.exe) ฉันต้องการลบโฟลเดอร์ obj และ bin ออกเพื่อที่ฉันจะได้ซิปไฟล์ทั้งหมดได้อย่างง่ายดาย

30
วิธีตรวจสอบสาเหตุที่ Visual Studio อาจข้ามโครงการเมื่อสร้างโซลูชัน
ฉันกำลังแก้ไขข้อบกพร่องงานของคนอื่นและวิธีแก้ปัญหาค่อนข้างใหญ่ เมื่อฉันพยายามสร้างสิ่งทั้งหมดโครงการต่างๆในโซลูชันจะไม่สร้างและข้ามไป การดูหน้าต่างผลลัพธ์ระหว่างกระบวนการสร้างกล่าวว่า: 1> ------ ข้ามการสร้างใหม่ทั้งหมด: โครงการ: pr1lib ------ ฉันจะทราบได้อย่างไรว่าเหตุใดงานสร้างเหล่านี้จึงถูกข้ามไป ฉันไม่พบผลลัพธ์เพิ่มเติม นี่คือ VS2008 และโซลูชันประกอบด้วยรหัส c # และ c ++

10
คัดลอกไฟล์และโฟลเดอร์ทั้งหมดโดยใช้ msbuild
แค่สงสัยว่าจะมีใครช่วยฉันด้วยสคริปต์ msbuild ที่ฉันพยายามเขียนอยู่ สิ่งที่ฉันต้องการทำคือคัดลอกไฟล์และโฟลเดอร์ย่อยทั้งหมดจากโฟลเดอร์ไปยังโฟลเดอร์อื่นโดยใช้ msbuild {ProjectName} |----->Source |----->Tools |----->Viewer |-----{about 5 sub dirs} สิ่งที่ฉันต้องทำได้คือคัดลอกไฟล์และโฟลเดอร์ย่อยทั้งหมดจากโฟลเดอร์ tools ไปยังโฟลเดอร์ debug สำหรับแอปพลิเคชัน นี่คือรหัสที่ฉันมีจนถึงตอนนี้ <ItemGroup> <Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" /> </ItemGroup> <Target Name="BeforeBuild"> <Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" /> </Target> สคริปต์สร้างทำงาน แต่ไม่คัดลอกไฟล์หรือโฟลเดอร์ใด ๆ ขอบคุณ


27
ข้อผิดพลาด“ ไม่ได้ตั้งค่าคุณสมบัติ outputpath สำหรับโปรเจ็กต์นี้”
ฉันมีโซลูชันหลายโปรเจ็กต์ใน Visual Studio 2008 ฉันเพิ่งเพิ่มการกำหนดค่าใหม่ที่เรียกว่า Release-VersionIncrement ลงในโซลูชันโดยระบุการกำหนดค่า "ใช้รุ่น" เป็นพื้นฐาน ไฟล์โครงการทั้งหมดได้รับการอัปเดตด้วยการกำหนดค่านั้น อย่างไรก็ตามเมื่อฉันพยายามรวบรวมโปรเจ็กต์เฉพาะโดยใช้การกำหนดค่านี้ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาด 5 ไม่ได้ตั้งค่าคุณสมบัติ OutputPath สำหรับโครงการนี้ โปรดตรวจสอบให้แน่ใจว่าคุณได้ระบุชุดค่าผสมการกำหนดค่า / แพลตฟอร์มที่ถูกต้อง Configuration = 'Release-VersionIncrement' Platform = 'AnyCPU' C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ Microsoft.Common.targets 539 9 DataConversion เกิดอะไรขึ้นที่นี่? โปรเจ็กต์คอมไพล์ดีในการกำหนดค่ารุ่นหรือดีบัก

8
มีวิธีรวมไฟล์เนื้อหาลงในไฟล์โครงการ asp.net โดยอัตโนมัติหรือไม่?
ฉันมักจะเพิ่มไฟล์เนื้อหาจำนวนมาก (ส่วนใหญ่เป็นรูปภาพและ js) ในโครงการ ASP.NET ของฉัน ฉันใช้ระบบเผยแพร่ VS และในการเผยแพร่ไฟล์ใหม่จะไม่เผยแพร่จนกว่าฉันจะรวมไว้ในโครงการ ฉันต้องการรวมไฟล์ทั้งหมดในไดเรกทอรีที่ระบุโดยอัตโนมัติ มีวิธีระบุไดเร็กทอรีใดที่ควรรวมอัตโนมัติในไฟล์ csproj หรือที่อื่น ๆ หรือไม่?

16
ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'Microsoft.Build.Framework' (VS 2017)
เมื่อฉันลองเรียกใช้คำสั่ง "update-database" ฉันได้รับข้อยกเว้นนี้: ระบุแฟล็ก '-Verbose' เพื่อดูคำสั่ง SQL ที่ใช้กับฐานข้อมูลเป้าหมาย System.IO.FileNotFoundException: ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'Microsoft.Build.Framework เวอร์ชัน = 15.1.0.0, วัฒนธรรม = เป็นกลาง, PublicKeyToken = b03f5f7f11d50a3a' หรือการอ้างอิงอย่างใดอย่างหนึ่ง ระบบไม่พบแฟ้มที่ระบุ. ชื่อไฟล์: 'Microsoft.Build.Framework, Version = 15.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a' WRN: การบันทึกการรวมแอสเซมบลีถูกปิดอยู่ เมื่อต้องการเปิดใช้งานการบันทึกความล้มเหลวในการผูกแอสเซมบลีให้ตั้งค่ารีจิสทรี [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) เป็น 1 หมายเหตุ: มีการลงโทษด้านประสิทธิภาพบางอย่างที่เกี่ยวข้อง หากต้องการปิดคุณลักษณะนี้ให้ลบค่ารีจิสทรี …

7
ใช้ msbuild เพื่อเรียกใช้งาน File System Publish Profile
ฉันมีโปรเจ็กต์ ac # .Net 4.0 ที่สร้างด้วย VS2010 และตอนนี้สามารถเข้าถึงได้ด้วย VS2012 ฉันพยายามเผยแพร่เฉพาะไฟล์ที่จำเป็นจากเว็บไซต์นี้ไปยังตำแหน่งปลายทาง(C: \ builds \ MyProject [Files]) โครงสร้างไฟล์ของฉัน: ./ProjectRoot/MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml ฉันเรียกใช้สิ่งต่อไปนี้ผ่าน MSBuild: C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe ./ProjectRoot/MyProject.csproj / p: DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml นี่คือ xml ใน FileSystemDebug.pubxml <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <WebPublishMethod>FileSystem</WebPublishMethod> <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> <LastUsedPlatform>Any CPU</LastUsedPlatform> …

8
คัดลอกไปยัง Output Directory คัดลอกโครงสร้างโฟลเดอร์ แต่ต้องการคัดลอกไฟล์เท่านั้น
ฉันมี VS2008 ฉันต้องการคัดลอกไฟล์บางไฟล์จากไดเรกทอรีไปยัง/bin/โฟลเดอร์ของฉัน ฉันได้ตั้งค่าไฟล์ (อยู่ใน/common/browserhawk/) เป็น "Copy to Output Directory" อย่างไรก็ตามมันคัดลอกโครงสร้างโฟลเดอร์ด้วยเช่นกัน: ไฟล์จะถูกคัดลอกไป/bin/common/browserhawk/ ฉันจะคัดลอกไฟล์เหล่านี้ไปเป็นเพียงแค่ได้/bin/อย่างไร ฉันไม่ต้องการเก็บสิ่งเหล่านี้ไว้ในรูทของเว็บไซต์เพื่อให้คัดลอกอย่างถูกต้อง คำถามที่เกี่ยวข้อง: Visual Studio เพิ่ม. dll และ. pdb ในโปรเจ็กต์หลังจากคอมไพล์

7
ตรวจสอบแพ็คเกจจาก NuGet ในการควบคุมเวอร์ชันหรือไม่
ก่อนหน้า NuGet เป็นที่ยอมรับกันทั่วไปว่า 'แนวทางปฏิบัติที่ดีที่สุด' ในการเช็คอิน DLL ภายนอกทั้งหมดที่ใช้ในโครงการ โดยปกติจะอยู่ในไดเรกทอรีLibsหรือ3rdParty เมื่อทำงานกับ NuGet ฉันควรเช็คอินpackagesไดเร็กทอรีหรือมีวิธีให้ MSBuild ดาวน์โหลดแพ็กเกจที่ต้องการจากฟีดนักเก็ตโดยอัตโนมัติหรือไม่

12
แนวทางปฏิบัติที่ดีที่สุดสำหรับโซลูชันขนาดใหญ่ใน Visual Studio (2008) [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา เรามีโซลูชันที่มีโครงการมากกว่า 100 โครงการซึ่งส่วนใหญ่เป็น C # โดยปกติแล้วมันใช้เวลานานทั้งในการเปิดและสร้างดังนั้นฉันจึงมองหาแนวทางปฏิบัติที่ดีที่สุดสำหรับสัตว์ชนิดนี้ ตามแนวคำถามที่ฉันหวังว่าจะได้รับคำตอบคือ: คุณจะจัดการการอ้างอิงระหว่างโครงการอย่างไรให้ดีที่สุด "คัดลอกในเครื่อง" ควรเปิดหรือปิด? ทุกโครงการควรสร้างไปยังโฟลเดอร์ของตัวเองหรือควรสร้างไปยังโฟลเดอร์ผลลัพธ์เดียวกัน (ทั้งหมดเป็นส่วนหนึ่งของแอปพลิเคชันเดียวกัน) โฟลเดอร์ของโซลูชันเป็นวิธีที่ดีในการจัดระเบียบสิ่งต่างๆหรือไม่? ฉันรู้ว่าการแยกโซลูชันออกเป็นโซลูชันขนาดเล็กหลาย ๆ ตัวเป็นตัวเลือก แต่มันมาพร้อมกับชุดการปรับโครงสร้างใหม่และการสร้างความปวดหัวดังนั้นบางทีเราสามารถบันทึกได้สำหรับเธรดแยกต่างหาก :-)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.