ข้อผิดพลาด“ ไม่ได้ตั้งค่าคุณสมบัติ outputpath สำหรับโปรเจ็กต์นี้”


90

ฉันมีโซลูชันหลายโปรเจ็กต์ใน 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

เกิดอะไรขึ้นที่นี่? โปรเจ็กต์คอมไพล์ดีในการกำหนดค่ารุ่นหรือดีบัก


6
ฉันต่อสู้กับสิ่งนี้เป็นเวลาหลายชั่วโมงจนกระทั่งฉันรู้ว่ารายการแบบหล่นลงในคำจำกัดความของโครงสร้าง TFS มี "CPU ใด ๆ " มากกว่า "AnyCPU" !!!!
The Muffin Man

1
ใน VS2012 รายการแบบหล่นลงในการกำหนดค่าบิลด์คือ "CPU ใด ๆ " แต่ภายในไฟล์. csproj คือ "AnyCPU" ดังนั้นใน Jenkins หรือบรรทัดคำสั่งให้ใช้ "AnyCPU" จะได้ผล
Jirong Hu

คำตอบ:


94

โดยปกติสิ่งนี้จะเกิดขึ้นเมื่อคุณสมบัติ OutputPath ของไฟล์โครงการว่างเปล่า ไฟล์โครงการเป็นเพียงไฟล์MSBuild หากต้องการแก้ไขใน Visual Studio: คลิกขวาที่โปรเจ็กต์เลือก "ยกเลิกการโหลดโปรเจ็กต์" จากนั้นคลิกขวาที่โปรเจ็กต์ที่ไม่ได้โหลดแล้วเลือก "แก้ไข ... "

มองหากลุ่มคุณสมบัติ Release-Versionincrement ควรมีลักษณะดังนี้

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release-VersionIncrement|AnyCPU' ">
  <OutputPath>bin\Release-VersionIncrement\</OutputPath>
  <DefineConstants>TRACE</DefineConstants>
  <Optimize>true</Optimize>
  <DebugType>pdbonly</DebugType>
  <PlatformTarget>AnyCPU</PlatformTarget>
  <CodeAnalysisUseTypeNameInSuppression>true</CodeAnalysisUseTypeNameInSuppression>
  <CodeAnalysisModuleSuppressionsFile>GlobalSuppressions.cs</CodeAnalysisModuleSuppressionsFile>
  <ErrorReport>prompt</ErrorReport>
</PropertyGroup>

สิ่งที่สำคัญนั่นคือ OutputPath มีอยู่สำหรับไฟล์โครงการของคุณหรือไม่? ถ้าไม่เพิ่มแล้วลองอีกครั้ง


33
หากเส้นทางเอาต์พุตถูกต้องและคุณยังคงได้รับข้อผิดพลาดนี้คุณอาจมีการอ้างอิงถึงแอสเซมบลีหรือโปรเจ็กต์อื่น ๆ ล้างข้อมูลอ้างอิงเก่า ๆ นั่นคือประสบการณ์ของฉัน
John K

3
ฉันเพิ่งสะดุดกับข้อผิดพลาดนี้และต้องแก้ไขไฟล์โครงการโดยตรง แม้ว่าหน้าคุณสมบัติของโปรเจ็กต์จะระบุว่า "CPU ใด ๆ " แต่คุณสมบัติก็ถูกตั้งค่าเป็นค่าว่างในตอนแรกและฉันเลือกการตั้งค่า Platform = BPC จากตัวแปรสภาพแวดล้อม หลังจากที่ฉันแก้ไขและตั้งค่า / รีเซ็ตหน้าคุณสมบัติจาก CPU ใด ๆ เป็น x86 และย้อนกลับมันก็ยังไม่สร้างโดยอ้างว่าตอนนี้แพลตฟอร์มคือ 'x86' (?!?) แน่นอนฉันทำตามขั้นตอนที่นี่และพบว่าตอนนี้ถูกตั้งค่าเป็น x86 ดังนั้นฉันจึงแก้ไขด้วยตนเองและตอนนี้ทุกคนก็มีความสุขอีกครั้ง ขอบคุณเพื่อน!
DaveN59

2
ไฟล์โครงการของฉันมี PropertyGroup ที่คาดไว้โดยมี OutputPath ที่ไม่ว่างเปล่าและฉันได้รับข้อผิดพลาดนี้ สิ่งเดียวที่ฉันสังเกตเห็นคือ PropertyGroup สำหรับการกำหนดค่าเฉพาะนี้เป็นองค์ประกอบแรกภายใต้โหนดรูทในไฟล์และแอตทริบิวต์ Condition ไม่มีช่องว่างนำหน้าและต่อท้ายซึ่งแตกต่างจากเงื่อนไขการกำหนดค่าอื่น ๆ ทั้งหมด ณ จุดนี้ฉันย้ายองค์ประกอบนี้ด้านล่างของการกำหนดค่าอื่น ๆ (ไม่แน่ใจว่าทำไมมันถึงมีความสำคัญเป็นเพียงการพยายามทำสิ่งต่างๆ) และเพิ่มช่องว่างในเงื่อนไข หลังจากนี้ก็ใช้งานได้ ไม่แน่ใจว่าข้อใดสร้างความแตกต่าง
Seth Flowers

2
ฉันมีปัญหาอื่น ฉันใช้ SlowCheetah เพื่อสร้างการแปลงการกำหนดค่าสำหรับโครงการ windows ของฉัน การกำหนดค่าไม่มีช่องว่างอย่างที่ @sethflowers แนะนำ ฉันเพิ่มสิ่งเหล่านั้น แต่ไม่ได้ช่วยอะไร ฉันเห็นว่ามีกลุ่มคุณสมบัติอื่นอยู่ระหว่างการกำหนดค่า จัดเรียงอย่างนั้น (เพียงวางกลุ่มคุณสมบัติไว้ด้านล่างกลุ่มคุณสมบัติการกำหนดค่าโครงการ) จากนั้นปัญหาก็หมดไป ขอบคุณสำหรับคำแนะนำทั้งหมดที่นี่ ประหยัดเวลา !!!
LockTar

7
Deffo ลองใช้ \ p: Platform = "AnyCPU" แทน \ p: Platform = "Any CPU" นั่นได้ผลแบบฉัน! มองมานานแล้ว!
Lee Englestone

78

ฉันยังเห็นข้อผิดพลาดนี้เมื่อบิลด์เอเจนต์ของเราถูกกำหนดค่าให้รันแพลตฟอร์ม " CPU ใด ๆ " (ที่มีช่องว่างตามที่แสดงใน Visual Studio) แทนที่จะเป็น " AnyCPU " (คำเดียวตามที่ระบุในไฟล์โครงการ)


5
ฉันพบปัญหาเดียวกันปรากฏว่าในระดับโซลูชัน "CPU ใด ๆ " นั้นใช้ได้ แต่ในระดับโปรเจ็กต์นั้นเป็น "AnyCPU" กล่าวอีกนัยหนึ่ง msbuild myproj.sln /p:Configuration=Debug /p:Platform="Any CPU"ก็ใช้ได้ดีอย่างไรก็ตามเมื่อสร้างโครงการฉันต้องเว้นช่องว่างใน CPU ใด ๆ : msbuild myproj.proj1.csproj /p:Configuration=Debug /p:Platform=AnyCPUเพื่อระงับข้อผิดพลาดคุณสมบัติ Outputpath
Emil G

2
ไม่น่าเชื่อและ PITA สำหรับการกำหนดค่า CI คืออะไร ฉันดิ้นรนกับเรื่องนี้มาหลายวันแล้ว
Jeremy Holovacs

ฉันพบข้อผิดพลาดนี้เมื่อฉันไม่สามารถสร้างบนเซิร์ฟเวอร์บิลด์หลักและตัวเลือกอื่นที่ฉันเลือกส่งผ่าน "CPU ใด ๆ " แทน "AnyCPU" หลังจากตรวจสอบพบว่ามีความแตกต่างบางประการในหมายเลขเวอร์ชันของ MSBUILD และซอฟต์แวร์อื่น ๆ ขอบคุณสำหรับคำตอบ
Gilles

1
ฉันไม่อยากจะเชื่อเลยว่าอวกาศเป็นผู้ร้าย!
Alexandra

36

ฉันมีปัญหาเดียวกันเมื่อฉันใช้ MSBuild ก่อน ทางออกของฉันคือใช้คุณสมบัติ OutputPath แน่นอน แบบนี้:

msbuild XXX.csproj /p:OutputPath=bin\Debug.

สิ่งนี้ช่วยแก้ปัญหาของฉันสำหรับการสร้าง TeamCity Azure Cloud Service +1
starmandeluxe

ในทำนองเดียวกันสำหรับฉันด้วย CI Build ของ VSO
StriplingWarrior

11

ในกรณีของเราเรากำลังเรียกใช้บิลด์สคริปต์ในกล่องนักพัฒนา HP ของเรา HP มีตัวแปรสภาพแวดล้อมบางอย่างที่พวกเขาตั้งขึ้นเพื่อจุดประสงค์ของตนเองและหนึ่งในนั้นคือ PLATFORM (ใช้สำหรับ "HP Easy Setup")

การลบตัวแปรสภาพแวดล้อม PLATFORM ใช้งานได้


msbuild /p:Platform=AnyCPUคุณยังสามารถหลักฐานในอนาคตสร้างสคริปต์ของคุณโดยการระบุแพลตฟอร์มคือ


สิ่งนี้ทำให้ฉันใช้แล็ปท็อป HP เครื่องใหม่ของฉันขอบคุณ @Boggin สิ่งนี้จะไม่เกิดขึ้นกับฉัน
Rob Cooper

9

หาก Visual Studio บ่นว่า "Platform = 'BPC'" โดยเฉพาะคุณสามารถแก้ไขได้อย่างง่ายดายโดยลบตัวแปรสภาพแวดล้อม "Platform"

ลบเด็กเลวคนนี้

ตอนนี้รีสตาร์ท Visual Studio และคุณก็พร้อมแล้ว


6

เช่นเดียวกับที่ " Richard Dingwall " บอกใบ้ปัญหานั้นเกี่ยวข้องกับ VS โดยใช้" Any CPU " เวอร์ชันที่แสดงแทนเวอร์ชัน MSBuild ซึ่งอ่านว่า " AnyCPU "

ไปที่ Build / New Build Definition หรือ Edit Build Definition -> Process -> Configurations to build เปิดกล่องโต้ตอบการเลือกคอนฟิกูเรชันและใน " Platform " แทนที่จะเลือก " Any CPU " ให้เพิ่ม " AnyCPU " ด้วยตนเอง


6

ตามที่กล่าวไว้ว่าต้องตั้งค่าOutputPathและต้องวางไว้ก่อน <Import Project="$(WixTargetsPath)" />ในไฟล์. wixproj


สิ่งนี้เกี่ยวข้องกับปัญหาของฉันฉันได้เพิ่มการกำหนดค่าใหม่สำหรับโปรเจ็กต์ wix หลังจากที่ฉันสร้างมันและการกำหนดค่าใหม่ถูกเพิ่มที่ส่วนท้ายของไฟล์ดังนั้น PropertyGroups ที่เกี่ยวข้องทั้งหมดกับการกำหนดค่าใหม่นั้นจึงถูกวางไว้หลังจากการนำเข้านี้แล้วย้ายไปที่ ด้านบนติดกับอันอื่นทำให้มันใช้งานได้สำหรับฉัน
Eugenio Miró

4

ฉันได้ลบPlatformตัวแปรสภาพแวดล้อม (เป็น BNB หรือ smth แบบนั้น) ปัญหาจะหมดไป


1
น่าเสียดายที่แม้ว่าจะลบตัวแปรสภาพแวดล้อมของแพลตฟอร์มออกไปแล้ว แต่ก็ยังต้องการการรีบูตแบบเต็ม!
79E09796

4

วันนี้ฉันกำลังเพิ่มแพลตฟอร์ม x64 ลงในโซลูชันของฉันเมื่อฉันพบปัญหานี้

ในกรณีของฉันข้อผิดพลาดอ่าน:

สร้าง $ / ProjectDirectory / ProjectName.csproj สำหรับเป้าหมายเริ่มต้น c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (484): คุณสมบัติ OutputPath ไม่ได้ตั้งค่าสำหรับโครงการ ProjectName.csproj ' โปรดตรวจสอบให้แน่ใจว่าคุณได้ระบุชุดค่าผสมที่ถูกต้องของการกำหนดค่าและแพลตฟอร์มสำหรับโครงการนี้ Configuration = 'Debug' Platform = 'x64' คุณอาจเห็นข้อความนี้เนื่องจากคุณพยายามสร้างโปรเจ็กต์โดยไม่มีไฟล์โซลูชันและได้ระบุคอนฟิกูเรชันหรือแพลตฟอร์มที่ไม่ใช่ค่าเริ่มต้นที่ไม่มีอยู่สำหรับโปรเจ็กต์นี้

ฉันรู้ว่าOutputPathควรจะใช้ได้เนื่องจากนี่เป็นโซลูชัน VS ที่ใช้งานได้จริง ดังนั้นฉันจึงย้ายไปที่คำใบ้ถัดไป - "การผสมผสานระหว่างการกำหนดค่าและแพลตฟอร์มที่ถูกต้อง"

อ๊าาา! Visual Studio Configuration='Debug', Platform='x64'พยายามที่จะสร้าง เมื่อดูไฟล์โครงการของฉันฉันพบว่า x64 ไม่ได้อยู่ในรายการหนึ่งในแพลตฟอร์มที่เป็นไปได้ กล่าวอีกนัยหนึ่งฉันมีรายการด้านล่าง (สั้นลง):

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
      <PlatformTarget>x86</PlatformTarget>
      <OutputPath>bin\x86\Debug\</OutputPath>  
      . . .  
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
      <PlatformTarget>x86</PlatformTarget>
      <OutputPath>bin\x86\Release\</OutputPath>    
      . . .
  </PropertyGroup>

แก้ไขได้ง่าย: เพียงเพิ่มรายการ x64!

ฉันคัดลอก / วางรายการ x86 และเปลี่ยนเป็นใช้ x64 สังเกตว่าฉันได้แก้ไขเส้นทางด้วยดังนั้นสิ่งเหล่านี้จึงไม่เขียนทับ x86 builds:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
      <PlatformTarget>x64</PlatformTarget>
      <OutputPath>bin\x64\Debug\</OutputPath>    
      . . .
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
      <PlatformTarget>x64</PlatformTarget>
      <OutputPath>bin\x64\Release\</OutputPath>    
      . . .
  </PropertyGroup>

3

ฉันจัดโครงสร้างนี้มาระยะหนึ่งแล้วก็ยกเลิกการโหลดสร้างและโหลดโครงการที่กระทำผิดซ้ำในโซลูชันจากนั้น MSBuild ทำงานได้อย่างถูกต้อง


3

ในฐานะที่เป็นสกอตต์ S, ฉันเคยลบ "แพลตฟอร์ม" ตัวแปรสภาพแวดล้อม

จากนั้นรีสตาร์ท VS และก็โอเค: ไม่มีข้อความแสดงข้อผิดพลาดอีกต่อไป ...


สิ่งนี้ใช้ได้ผลสำหรับฉันเมื่อฉันลบแพลตฟอร์มที่ฉันระบุไว้ในขั้นตอน Build vNext MSBuild ของฉันด้วย
4imble

2

ปัญหาเกี่ยวข้องกับการกำหนดค่าโครงการของฉัน นี่คือสถานการณ์:

โซลูชันการอ้างอิง:

โครงการ X อ้างอิงโครงการ Y
โครงการ Y

โซลูชัน B (สิ่งที่ฉันพยายามสร้าง) การอ้างอิง:

โครงการ X โครงการ Z

วิธีแก้ปัญหาของฉันคือการสร้างคอนฟิกูเรชันที่มีชื่อเดียวกันสำหรับโซลูชัน A สร้างใหม่จากนั้นสร้างโซลูชัน B ขึ้นมาใหม่ซึ่งช่วยแก้ปัญหาได้


1
ฉันพบข้อผิดพลาดเดียวกันและวิธีแก้ปัญหานี้เป็นสิ่งเดียวที่ได้ผลสำหรับฉัน โดยพื้นฐานแล้วฉันมีการกำหนดค่าแพลตฟอร์มโซลูชัน "Win32" ซึ่งสร้างโครงการ Silverlight ด้วยการกำหนดค่าแพลตฟอร์ม "CPU ใด ๆ " และโครงการแอปพลิเคชันบนเว็บที่มีการกำหนดค่าแพลตฟอร์ม "x86" ที่โฮสต์โครงการ Silverlight ฉันต้องเพิ่มการกำหนดค่าแพลตฟอร์มโปรเจ็กต์ใหม่ในโปรเจ็กต์ silverlight "x86" (และเก็บอันเก่าไว้เป็นคอนฟิกูเรชันเริ่มต้น) เพื่อให้ msbuild ทำงานได้ตามที่คาดไว้
รามีอ.

2

ฉันมีข้อความแสดงข้อผิดพลาดเดียวกันนี้ เกิดจากการอ้างอิงถึงโปรเจ็กต์ที่ถูกยกเลิกการโหลดและตัวเชื่อมโยงไม่ต้องการ (มิฉะนั้นจะล้มเหลวในเวลาคอมไพล์) การลบข้อมูลอ้างอิงที่ไม่เหมาะสมช่วยแก้ปัญหาได้


2

ในกรณีของฉัน (VS2010) ฉันลบสตริงในกล่อง "OutputPath" ที่อยู่บนแท็บ "สร้าง" และปล่อยให้ว่างไว้ จากนั้นฉันสร้างโซลูชันขึ้นมาใหม่ สร้างสำเร็จและ VS ได้แทรกไดเร็กทอรีปัจจุบัน "./" ลงใน "OutputPath" ฉันแทนที่ไดเร็กทอรีปัจจุบัน "./" ด้วยพา ธ ของฉัน ("bin \ x64 \ Release \" - พอเพียงที่จะบอกว่านี่คือเส้นทางโฟลเดอร์ที่ถูก VS บ่นในตอนแรก) และการสร้างใหม่ก็ทำได้สำเร็จอีกครั้ง


1

ในกรณีของฉันคุณสมบัติ OutputPath ถูกตั้งค่าในไฟล์โครงการ แต่การยกเลิกการโหลดการโหลดใหม่และการสร้างใหม่ได้รับการแก้ไขแล้ว


1

เมื่อฉันเพิ่มคอนฟิกูเรชันโซลูชันใหม่ในโซลูชันของฉันฉันได้รับข้อผิดพลาด "คุณสมบัติ OutputPath ไม่ได้ตั้งค่าสำหรับโปรเจ็กต์ X โปรดตรวจสอบให้แน่ใจว่าคุณได้ระบุคอนฟิกูเรชันและแพลตฟอร์มที่ถูกต้องสำหรับโปรเจ็กต์นี้ Configuration = 'QA 'Platform =' AnyCPU 'นอกจาก นี้ข้อผิดพลาดนี้อาจปรากฏขึ้นหากโครงการอื่นกำลังพยายามติดตามการอ้างอิงโครงการต่อโครงการของโครงการนี้โครงการนี้ถูกยกเลิกการโหลดหรือไม่ได้รวมอยู่ในโซลูชันและโครงการอ้างอิงไม่ได้ สร้างโดยใช้ Configuration หรือ Platform เดียวกันหรือเทียบเท่า ProjectY "

ในกรณีของฉันปัญหาเกิดจากส่วนที่ไฮไลต์ของคำอธิบายข้อผิดพลาด Project X ส่วนหนึ่งของโซลูชันของฉันมีการอ้างอิงโครงการถึง ProjectY ของโซลูชันอื่น (สาขาที่แตกต่างกัน)

ฉันได้แก้ไขปัญหานี้โดยการแก้ไขโครงการ X เพื่อใช้การอ้างอิงโครงการกับ ProjectY ในโซลูชันปัจจุบัน หวังว่านี่จะช่วยคนที่มีปัญหาคล้ายกัน


0

ในกรณีของฉันบล็อก XML "PropertyGroup" ใหม่ถูกสร้างขึ้นที่ด้านล่างของเอกสาร ฉันเพิ่งแทนที่ด้วยแท็ก "PropertyGroup" อื่น ๆ และสิ่งนี้ช่วยแก้ปัญหาได้


0

ฉันสร้างโครงการใหม่ในโซลูชันใหม่ซึ่งอ้างอิงถึงโครงการที่มีอยู่ ข้อผิดพลาดนี้เกิดขึ้นเมื่อฉันเพิ่มโปรเจ็กต์ที่มีอยู่ (พูดว่าโปรเจ็กต์ 1) และพยายามสร้างโดยไม่เพิ่มโปรเจ็กต์อื่น ๆ ที่โปรเจ็กต์ 1 อ้างถึง

ตรวจสอบให้แน่ใจว่าได้เพิ่มโครงการที่เกี่ยวข้องทั้งหมดลงในโซลูชันใหม่แล้วข้อผิดพลาดจะหายไป


0

ฉันมีข้อผิดพลาดเดียวกันดังนั้นฉันจึงตรวจสอบการตั้งค่าโครงการและในส่วน "สร้าง" คือตัวเลือก "สร้างเส้นทางเอาต์พุต" และค่าว่างเปล่า ฉันจึงกรอกค่า "bin \" ข้อผิดพลาดหายไป มันช่วยแก้ปัญหาของฉันได้


0

หากคุณตัดสินใจที่จะตั้งค่า OutputPath เป็นพารามิเตอร์และเส้นทางของคุณเป็นเช่นbin\Release\\นั้นอย่าลืมเพิ่ม\ในตอนท้ายเช่น/p:OutputPath=bin\Release\\\\นั้นฉันใช้เวลาสักพักกว่าจะรู้ว่ามันเป็นเช่นนั้น



0

ฉันมีปัญหาเดียวกันและวิธีแก้ปัญหาเดียวที่ช่วยได้คือตั้งค่าการกำหนดค่าการสร้างด้วยตนเองในแต่ละโครงการ NCrunch

เปิดหน้าต่าง NCrunch ซึ่งคุณสามารถดูสถานะของแต่ละบิลด์และตำแหน่งที่คุณสามารถดูได้ว่าบิวด์มีไฟ คลิกขวาที่โปรเจ็กต์ที่สร้างไม่สำเร็จและคลิกที่ "กำหนดค่าคอมโพเนนต์ที่เลือก" ที่คุณเห็นภายใต้ "การตั้งค่าการสร้าง" คุณสมบัติ "ใช้การสร้างคอนฟิกูเรชัน" ตั้งค่าเป็น "ดีบัก" และคุณสมบัติ "ใช้แพลตฟอร์มการสร้าง" ตั้งค่าเป็น เช่น "AnyCPU" (โปรดทราบว่าการตั้งค่าการสร้างและการกำหนดค่าที่คุณตั้งไว้จะต้องมีอยู่ในการตั้งค่าการโอนย้ายข้อมูลของคุณ)

ทำเช่นนี้กับโครงการทั้งหมดของคุณ แต่ไม่ใช่สำหรับโครงการทดสอบของคุณ หลังจากนี้ทุกอย่างจะดีสำหรับฉัน


0

ฉันมีปัญหาเดียวกันฉันแก้ไขโดยการเพิ่มการกำหนดค่าที่ขาดหายไปในโปรเจ็กต์ที่ล้มเหลว

BUILD -> เครื่องมือจัดการการกำหนดค่า ->

ภายใต้การกำหนดค่าคอลัมน์เพิ่ม

หมายเหตุ: สิ่งนี้เกิดขึ้นเพียงเพราะฉันมีการกำหนดค่าที่กำหนดเองและโครงการที่สร้างขึ้นใหม่ไม่มีการกำหนดค่า


0

หากใครได้รับสิ่งนี้ในบันทึก NCrunch ของเขาให้ตรวจสอบว่าการPropertyGroupกำหนดค่า 'Debug' / 'Release' และ 'AnyCPU' / 'x86' อยู่ข้างหน้ากลุ่มคุณสมบัติที่ใช้ค่าเหล่านั้นในเงื่อนไขหรือไม่

<PropertyGroup>
    <!-- this one first -->
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <XXX>...</XXX>
  </PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <XXX>...</XXX>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <XXX>...</XXX>
</PropertyGroup>

ทำงานให้ฉัน


0

ในกรณีของฉันฉันพยายามย้ายกลุ่มคุณสมบัติที่มีการกำหนดค่าที่กำหนดเองของฉันให้ต่ำกว่ากลุ่มมาตรฐาน มันแก้ไขให้ฉัน


0

เพิ่งมีสิ่งนี้กับ VS2015 Professional:

ไม่ได้ตั้งค่าคุณสมบัติ OutputPath สำหรับโปรเจ็กต์ 'xxxxx.csproj' โปรดตรวจสอบให้แน่ใจว่าคุณได้ระบุชุดค่าผสมที่ถูกต้องของการกำหนดค่าและแพลตฟอร์มสำหรับโครงการนี้

นอกจากนี้ยังเป็นการเล่นกลหลายโปรเจ็กต์ระหว่าง debug / release และเป้าหมายต่างๆ ฉันเล่นซอกับการกำหนดค่าการสร้างในบางจุดและฉันรู้ว่าอาจทำให้ VS สับสนได้ดังนั้นฉันจึงดึงพวกเขากลับจาก repo ยังไม่ดี ตั้งค่า OutputPath แล้วไม่มีความแตกต่างใด ๆ กับสถานะที่เป็นที่รู้จักอีกต่อไปดังนั้นจึงมีบางอย่างผิดปกติกับการติดตั้งในเครื่องของฉัน

เปิดโปรแกรมติดตั้ง VS2015 และคลิก "ซ่อมแซม" และ voila ... กลับสู่สภาวะปกติ (อย่างน้อยที่สุด!)


0

สำหรับฉันมันเป็นบรรทัดในการกำหนดค่าแพ็คเกจ NuGet กำจัดแพ็คเกจทั้งหมดที่เกี่ยวข้องในไฟล์โครงการของคุณและดูกลับมามีชีวิตอีกครั้ง (บันทึกการแก้ไข) กว่าสร้างมันขึ้นมาใหม่ทีละส่วน ฉันนำมันลงมาที่บรรทัดนี้ซึ่งฉันต้องลบ:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

ฉันพบปัญหาหลังจากอัปเดตแพ็คเกจ NuGet (ส่วนใหญ่เป็นอุปกรณ์วิเคราะห์ FxCop)

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