এমএসবিল্ড: ত্রুটি এমএসবি 1008: কেবলমাত্র একটি প্রকল্প নির্দিষ্ট করা যেতে পারে


116

আমি কেন নিম্নলিখিত বিল্ড ত্রুটি পাচ্ছি?

সি: I উইন্ডোস \ মাইক্রোসফট. নেট \ ফ্রেমওয়ার্ক \ v3.5 \ msbuild.exe সি: \ কোড \ এডুবেনেসনেট \ এডুবনেসনেট du এডুবনেসনেট.ভ বিপ্রজ / টি: প্রকাশ / পি: কনফিগারেশন = প্রকাশ / পি: প্ল্যাটফর্ম = বিস্তারিত এনসিপিইউ / ভিপি / পি: পাবলিশডির = "\\ বিএসআইআইএস 3 \ সি $ ATA ডেটা IT ওয়েবসাইটস \ benesys.net \ benesys.net \ টোটাল এডুকেশন টেস্ট \" /p:InstallUrl="https://www.benesys.net/benesys.net/ টোটালশিক্ষাথেষ্ট / "/p: প্রয়োগকরণ সংস্করণ=1.0.1.198 / পি: প্রোডাক্টনাম =" মোট শিক্ষার পরীক্ষা "/ পি: প্রকাশক নাম =" বেনিফিস, ইনক। " / পি: আপডেটআরকিয়ারড = "ট্রু" / পি: ন্যূনতম পুনর্বিবেচিত সংস্করণ=1.0.1.198
মাইক্রোসফ্ট (আর) বিল্ড ইঞ্জিন সংস্করণ 3.5.30729.1
[মাইক্রোসফ্ট। নেট ফ্রেমওয়ার্ক, সংস্করণ 2.0.50727.3603]
কপিরাইট (সি) মাইক্রোসফ্ট কর্পোরেশন 2007. সমস্ত অধিকার সংরক্ষিত।

এমএসবিল্ড: ত্রুটি এমএসবি 1008: কেবলমাত্র একটি প্রকল্প নির্দিষ্ট করা যেতে পারে।
স্যুইচ: শিক্ষা

সুইচ সিনট্যাক্সের জন্য, "এমএসবিল্ড / সহায়তা" টাইপ করুন

দ্বিতীয় প্রকল্পটি কীভাবে নির্দিষ্ট করা হচ্ছে তা আমি দেখছি না।
এটি কোথাও কোনও প্রকল্পের ফাইলে জমা আছে?


4
খুব একই কমান্ড পাওয়ারশেলগুলিতে কাজ করে তবে সেমিডি.এক্স.এক্সে নয় ... দেখে মনে হচ্ছে আপনি কোথাও স্পেসিয়াল চরিত্রের ক্রমটি আঘাত করছেন ...
সিড্রিক রুপ

উত্তর:


135

এটি প্রকাশের সংস্থার পিছনে স্ল্যাশ শেষের উদ্ধৃতিটি ছাড়িয়ে যাচ্ছে। পেছনের স্ল্যাশ ছেড়ে যাওয়া আমার সমস্যার সমাধান করেছে।

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\\"

এমএসবিল্ডের পিছনে স্ল্যাশ প্রয়োজন এমন বৈশিষ্ট্যগুলির মধ্যে শ্বেত স্পেস রয়েছে এমন পাথগুলির জন্য আমরা এইভাবে কোট ব্যবহার করতে পারি।

আমি জানি এটি একটি পুরানো পোস্ট, তবে আমার মনে হচ্ছে এটি কারও সাথে ভাগ করে নেওয়া দরকার :-)


45

সমাধান
/ পি: প্রকাশডির সেটিংসের আশেপাশে উদ্ধৃতিগুলি সরান

অর্থাত্
কোটের পরিবর্তে

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\"  

কোন উদ্ধৃতি ব্যবহার করুন

/p:PublishDir=\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest\  

আমি দুঃখিত আমি আমার সন্ধানের তাড়াতাড়ি পোস্ট করিনি। আসলে কী পরিবর্তন করতে হবে তা দেখার জন্য আমাকে আবার গবেষণা করতে হয়েছিল। কে ভাবতে হবে কোট সরিয়ে কাজ করবে? সহকর্মীরা অন্য একটি সমাধানের জন্য বিল্ড দেখার সময় আমি এটি আবিষ্কার করেছি এবং লক্ষ্য করেছি যে এর কোনও উদ্ধৃতি নেই।


2
এটা খুব আজব। আমার ক্ষেত্রে আমি একই ত্রুটি পেয়েছি তবে সমস্যাটি হ'ল এতে একটি স্থান সহ আমার একটি অযোগ্য পথ ছিল। উদ্ধৃতি যুক্ত করা সমস্যার সমাধান করেছে।
মার্ক অরনট

আমার কাছে @ মারকআরনোটের মতো একই সমস্যা ছিল, এটি স্পেসগুলি বা পালানো স্পেসগুলির সাথে কাজ করে না, তবে উদ্ধৃতি দিয়েছিল।
জিট্রাক্স

7
সম্ভবত আপনার পথে শেষ ব্যাকস্ল্যাশ সমাপ্ত ডাবল-উদ্ধৃতি থেকে বেরিয়ে এসেছিল। যদি সঠিক হয় তবে আপনার ডাবল-কোটগুলি সরিয়ে ফেলতে হবে না, তবে এর পরিবর্তে আপনার ব্যাকস্ল্যাশগুলি থেকে বাঁচতে হবে।
কার্ল জি

2
মনে রাখবেন, দির পথে ফাঁকা স্থানগুলি পালাতে হবে বা একটি ডাবল উদ্ধৃতিতে রাখতে হবে
OK999

30

গিট ব্যাশে আমাকে ডাবল স্ল্যাশ সহ পরামিতিগুলি নির্দিষ্ট করতে হয়েছিল:

MSBuild.exe "Path\to\Solution.sln" //p:Platform="x86" //p:Configuration=Release //p:AppxBundlePlatforms="x86" 

27

এই সমস্যাটি তখন উপস্থিত হয় যখন আপনার কাছে কোনও পাথ বা কোনও জায়গা থাকে যেখানে একটি জায়গা থাকে এবং তা উদ্ধৃত হয় না।

আপনার সমস্ত সম্পত্তি এবং পথগুলির চারপাশে উদ্ধৃতি রয়েছে, এটি আশ্চর্যজনক। ত্রুটি বার্তাটি Educationএকটি স্যুইচ হিসাবে নির্দেশ করে , /p:ProductName="Total Education TEST"এটি কাজ করে কিনা তা দেখার জন্য অপসারণের চেষ্টা করুন ।


4
এই সমস্যা থেকে মুক্তি পেতে ফোল্ডারের পথে স্পেস এড়িয়ে চলুন।
গোপীনাথ

1
@ জুলিয়ান হোয়ারাউ: আমি চেষ্টা করেছিলাম MSBuild.exe C:\BuildAgent\work\4c7b8ac8bc7d723e\WebService.sln /p:Configuration=Release /p:OutputPath=bin /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MsDeployServiceUrl=https://204.158.674.5/msdeploy.axd /p:username=Admin /p:password=Password#321 /p:AllowUntrustedCertificate=True /p:DeployIisAppPath=Default WebSite/New /p:MSDeployPublishMethod=WMSVC। এটি আমাকে একটি ত্রুটি দেয় MSBUILD : error MSB1008: Only one project can be specified. Switch: WebSite/New। বিষয়টি কী হতে পারে?
নেভিন রাজ ভিক্টর

@ নবীনরাজভিক্টর অনেক দেরী হলেও সম্ভবত আপনার চারপাশে উদ্ধৃতি দেওয়া উচিতDefault WebSite/New
অ্যান্ডারসন

11

আপনাকে পাথ এবং ফাইলের নামের চারপাশে কউয়েট লাগাতে হবে।
সুতরাং এমএসবিল্ড "সি: \ পথের নাম \ ফাইলের নাম x পরীক্ষা" / [বিকল্পগুলি] ব্যবহার করুন


4

আপনার পাথ প্রকাশের শেষে এবং পিছনে ইউআরএল ইনস্টল করার পরে অনুসরণকারী ব্যাকস্ল্যাশ বা স্ল্যাশ সরিয়ে দেওয়ার চেষ্টা করুন

/p:PublishDir="\\BSIIS3\c$\DATA\WEBSITES\benesys.net\benesys.net\TotalEducationTest"
/p:InstallUrl="https://www.benesys.net/benesys.net/TotalEducationTest"

আপনি অবশ্যই \ "এবং (বা) /" দিয়ে অক্ষরের একটি বিশেষ ক্রম হিট করেছেন, তবে আমি সেমিডি.এক্সে যথেষ্ট জানিনা know

আমি ব্যক্তিগতভাবে সর্বদা পাওয়ারশেল ব্যবহার করি: এটি আরও বন্ধুত্বপূর্ণ এবং শক্তিশালী!

আশা করি এটা সাহায্য করবে!


3

বনাম ২০১২-এ কেবলমাত্র ডিফল্ট টিএফএস টেম্পলেট "ডিফল্ট টেম্পলেট .... এক্সএএমএল" (সাধারণত এটির একটি অনুলিপি) ব্যবহার করে একটি বিল্ড সংজ্ঞা "টেস্ট বিল্ড" তৈরি করার চেষ্টা করুন usually

এটি স্বাভাবিক স্ব-ব্যাখ্যা-ত্রুটির সাথে ব্যর্থ হবে: "এমএসবিল্ড: ত্রুটি এমএসবি 1008: কেবলমাত্র একটি প্রকল্প নির্দিষ্ট করা যেতে পারে w সুইচ: ক্রিয়াকলাপগুলি"

কোর্সের বাইরে কোথাও ডিফল্ট টিএফএস টেমপ্লেটে কিছু "অনুপস্থিত রয়েছে তাই এমএসবিল্ড প্যারামিটার হিসাবে গ্রহণ করবে এমন একটি ফাঁকা স্থান সম্বলিত একটি অরক্ষিত ডিরেক্টরি রয়েছে যার ফলে একাধিক প্রকল্পের ফলাফল হবে (?!)

সুতরাং আপনার টিফএস বিল্ড সংজ্ঞা নামগুলি কখনও ফাঁকা স্থান ব্যবহার করবেন না, একই সাথে খুব দু: খিত এবং সাধারণ


1
এই উত্তর কিছু পরিশ্রমী ব্যবহার করতে পারে। অনুসরণ করা খুব কঠিন।
দ্য মায়ার

1
আপনার টিএফএস বিল্ড সংজ্ঞা নামগুলিতে কখনই ব্যবধান ব্যবহার না করার বিষয়টি একটি ভাল! এটি আমাকে একাধিকবার ধরা দিয়েছে।
ভ্যালেন্টেইন

3

আমি যখন ত্রুটি পেয়েছি তখন পাসওয়ার্ডের প্যারামিটারের চারপাশে আমি একক উদ্ধৃতি ব্যবহার করছিলাম

/p:password='my secret' খারাপ

এবং সমস্যাটি সমাধান করতে ডাবল উদ্ধৃতি ব্যবহার করতে এটি পরিবর্তন করে।

/p:password="my secret" ভাল

সম্ভবত কোনও একই পরামিতিগুলির ক্ষেত্রে এটি প্রয়োগ করা হবে যা কোনও স্থান রয়েছে এমন মানগুলির জন্য উদ্ধৃতিগুলির প্রয়োজন।


3

আমার জন্য আমি ক্লোজিং উদ্ধৃতি যুক্ত করতে ভুলে গিয়েছিলাম

/p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)

প্রতি

/p:DeployOnBuild=true;OutDir="$(build.artifactstagingdirectory)"


আমি ক্লাব ডাবল উদ্ধৃতিও অনুপস্থিত ছিল।
হবিব

2

ভবিষ্যতের পাঠকদের জন্য।

আমি এই ত্রুটিটি পেয়েছি কারণ আমার নির্দিষ্ট এলওজি ফাইলটিতে এটির একটি জায়গা ছিল:

আগে:

/l:FileLogger,Microsoft.Build.Engine;logfile=c:\Folder With Spaces\My_Log.log

পরে: (যা এটি সমাধান করেছে)

/l:FileLogger,Microsoft.Build.Engine;logfile="c:\Folder With Spaces\My_Log.log"

2

এর আরও একটি কারণ এবং সমাধান: পরীক্ষা করে দেখুন যে আপনি কোনও জায়গায় ভুল জায়গায় রাখেন নি, অর্থাত্ প্যারামিটারে; খনি ছিল dotnet -c Release - o /home/some/path(মধ্যে স্থান করে নোট -এবং o), আমি পথ নিজেই, যা সঠিক ছিল এ খুঁজছেন এবং আমাকে ছুড়ে ফেলে রাখা। আশা করি এইটি কাজ করবে! (এটি বাশ-এ ছিল যদিও এটি উইন্ডোজেও প্রয়োগ করা উচিত)


1

এটি টিএফএস এমএসবিল্ড আর্গুমেন্টে আমার পক্ষে কাজ করেছিল। স্ল্যাশের সংখ্যাটি নোট করুন।

/ পি: ডিফল্টপ্যাকেজআউটপুটডির = "\\ রেডনেট \ ভিজ্যুয়াল স্টুডিও প্রকল্পগুলি \ বীমা"


1

যদি আপনি জেনকিনসে ডিফল্ট ওয়ার্কস্পেস ব্যবহার করেন তবে এটি হতে পারে। কোনও স্থান ছাড়াই কাস্টম ওয়ার্কস্পেসের অবস্থান ব্যবহার করুন।

এখানে চিত্র বর্ণনা লিখুন


1

আপনি যদি Azure DevOps MSBuildটাস্ক ব্যবহার করছেন তবে দ্বিগুণ কনফিগারেশন পতাকা দ্বারা ত্রুটি হতে পারে। দয়া করে নিশ্চিত হয়ে নিন যে আপনি $(BuildConfiguration)এমএসবিল্ড আর্গুমেন্টগুলির পরিবর্তে নির্দিষ্ট বক্সটি রেখেছেন: এখানে চিত্র বর্ণনা লিখুন


1

আপনি যদি ব্যবহার করছেন তবে Any CPUআপনার এটি একক উদ্ধৃতিতে রাখতে হবে।

অবশ্যই ডকফেরলে চলার সময় আমাকে একক উদ্ধৃতি ব্যবহার করতে হয়েছিল:

# Fails. Gives: MSBUILD : error MSB1008: Only one project can be specified.
RUN msbuild ConsoleAppFw451.sln /p:Configuration=Debug /p:Platform="Any CPU" 

# Passes. Gives: Successfully built 40163c3e0121
RUN msbuild ConsoleAppFw451.sln /p:Configuration=Debug /p:Platform='Any CPU' 

0

আমার মতো কারও কারও সমতুল্য সমস্যা থাকলে, "/ পি" যুক্তিগুলির একটির আগে আমি "/" অনুপস্থিত ছিল। বর্ণনা থেকে খুব পরিষ্কার নয়। আমি আশা করি এটা কারো সাহায্যে লাগবে.


0

আমি https://www.codingdefined.com/2014/10/solve-msbuild-error-msb1008-only-one.html এ প্রদত্ত সমাধানটি ব্যবহার করেছি এবং এটি সমস্যার সমাধান করে। আমাদের কেবল খালি স্থানগুলি পরীক্ষা করা এবং কমান্ডের '' (ব্যাকস্ল্যাশগুলি পরীক্ষা করা) দরকার

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.