ট্রান্সফর্মএক্সএমএল টাস্কটি মাইক্রোসফ্ট থেকে শুরু করা যায়নি e


96

কেউ কি এই ত্রুটি দেখেছেন এবং কীভাবে এটি ঠিক করতে জানেন?

"ট্রান্সফর্মএক্সএমএল" টাস্কটি সমাবেশ থেকে লোড করা যায়নি সি: \ প্রোগ্রাম ফাইল (x86) \ এমএসবাইল্ড \ মাইক্রোসফ্ট \ ভিজ্যুয়ালস্টুডিও \ v11.0 \ ওয়েব \ মাইক্রোসফ্ট.ওয়েব.পুব্লিশিং.টাস্কস.ডিএলএল।

ফাইল বা সমাবেশ 'ফাইল: /// সি: \ প্রোগ্রাম ফাইলগুলি (x86) \ এমএসবাইল্ড \ মাইক্রোসফ্ট \ ভিজ্যুয়ালস্টুডিও \ v11.0 \ ওয়েব \ মাইক্রোসফ্ট.ওয়েব.পাবলিশিং.টাস্কস.ডিএল' বা এর অন্যতম নির্ভরতা load সিস্টেম নির্দিষ্ট ফাইল খুঁজে পাচ্ছি না.

নিশ্চিত করুন যে এই ঘোষণাটি সঠিক, সমাবেশ এবং এর সমস্ত নির্ভরতা উপলব্ধ রয়েছে এবং সেই কার্যটিতে একটি সার্বজনীন শ্রেণি রয়েছে যা মাইক্রোসফ্টকে কার্যকর করে u

আমি অন্য কোথাও পড়েছি যে আপনি যখন এসকিউএল সার্ভার ইনস্টল করবেন না তখন সমস্যা হয়। তবে এসপিএল দিয়ে এসকিউএল এক্সপ্রেস 2012 x64 ইনস্টল করেছি। আমি ভিএস 2013 পেশাদারও চালাচ্ছি।

কোনও সমস্যা ছাড়াই আমি ভিএস 2012 এক্সপ্রেসে এই ঠিক একই সমাধানটি চালিয়েছি।


4
এটি নুগেট প্যাকেজ হওয়া উচিত। আমার প্রকল্পের এই লুকানো তথ্যগুলি আমি পছন্দ করি না।
জয়দার

আপনার সঠিক উত্তর হিসাবে বেনিয়ামিন শিবিবের উত্তর চিহ্নিত করা উচিত। এটি সেরা সমাধান বলে মনে হচ্ছে
বুয়েলস

উত্তর:


166

ডাই বোক এবং ইমালামিসুর দেওয়া উত্তরগুলি যতক্ষণ না আপনি ভিজ্যুয়াল স্টুডিও 2012 ব্যবহার করেন ঠিক ততক্ষণ কাজ করে V ভিজ্যুয়াল স্টুডিওর সমস্ত সংস্করণ দিয়ে এই কাজটি করার জন্য আপনার উচিত:

  • লোড করতে ব্যর্থ প্রকল্পের প্রকল্প ফাইল (.csproj) খুলুন
  • সন্ধান করা <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
  • এটিতে পরিবর্তন করুন <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.targets" />
  • প্রকল্পটি পুনরায় লোড করুন

এটি গতিশীল এবং সঠিকভাবে ভিজ্যুয়াল স্টুডিওর সঠিক সংস্করণ সেট করবে।


4
আমি আপনার সমাধান বেনজামিনকে পছন্দ করি, তবে আমার যে সমস্যাটি ছিল তা হ'ল ভি 11 ফোল্ডারটি অনুপস্থিত ছিল কারণ সম্ভবত আমাদের মধ্যে কিছু লোক vs2010 ব্যবহার করেছে এবং এখনও ২০১২-এ ভার্সে উন্নীত হয়নি
ডাই বোক

7
এটি আমাকে সঠিক পথে শুরু করল, তবে আমি যে পরিবর্তনটি করেছি তা <ইউনিং টাস্ক টাস্কনাম = "ট্রান্সফর্মএক্সএমএল" ...> নোডের। আমার এসেম্বলিফিলটি ভুল সংস্করণটি ব্যবহার করছিল। এখানে কেবল সংস্করণটি পরিবর্তন করা দরকার। আরেকটি বিকল্প হ'ল স্পষ্টভাবে সংস্করণটি সেট করার পরিবর্তে একটি সংস্করণ ম্যাক্রো ব্যবহার করা হবে।
স্কট

5
$(VisualStudioVersion)পূর্ববর্তী সংস্করণটি ফিরিয়ে
দিচ্ছে

4
এটি একটি প্যারামিটার হতে পারে: স্ট্যাকওভারফ্লো.com
প্রশ্নগুলি

4
VS2015 থেকে VS2017 এ আপগ্রেড করার সময় পুরোপুরি কাজ করে। এখন আমি উভয় আইডিইতে সমাধানটি খুলতে পারি।
ইউরি শ্কাতুলা

29

আমার কাজ করতে, আমি আমার v10.0ফোল্ডারটি অনুলিপি করে আবার নামকরণ করেছি v11.0এবং এখন থেকে জিনিসগুলি ভালভাবে কাজ করছে বলে মনে হচ্ছে। এটি আপাতত দ্রুত সমাধান fix

যেহেতু সম্ভবত এটি সর্বোত্তম সমাধান নয় এবং যদিও এটি কাজ করে, আমি উইন্ডোজ 7 এবং। নেট ফ্রেমওয়ার্ক 4 উইন্ডোজ 7 এবং। নেট ফ্রেমওয়ার্ক 4 এর জন্য মাইক্রোসফ্ট উইন্ডোজ এসডিকে ইনস্টল করার চেষ্টা করতে যাচ্ছিলাম , তবে এটি দীর্ঘ হতে চলেছে ডাউনলোড।


4
আমি v10.0 এ 'ওয়েব' ফোল্ডারটি দেখিনি। সুতরাং আমি এটি v12.0 ফোল্ডার থেকে v11.0 ফোল্ডারে অনুলিপি করেছি।
সন্দীপ

9

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

এটি একটি ওয়েব অ্যাপ্লিকেশন প্রকল্পের বাইরে ব্যবহার করার জন্য , আমি আমার প্রকল্পে ইউনিং টাস্ক উপাদান যুক্ত করার চেষ্টা করেছি এবং এমএস বিল্ড বৈশিষ্ট্যগুলি (বেনজামিন প্রদর্শিত হিসাবে) ব্যবহার করে এটি সঠিক জায়গায় দেখানোর চেষ্টা করেছি। তবে তারা আমার বিল্ড সার্ভারে ছিলেন না (তাদের বিল্ড সার্ভারের ফাইল সিস্টেমে সহজে অ্যাক্সেস পাওয়া লোকেরা সম্ভবত এড়িয়ে যেতে পারেন এবং কেবলমাত্র ভিজ্যুয়াল স্টুডিওতে প্রাসঙ্গিক প্যাকেজটি ইনস্টল করতে পারেন)। আমি এমনকি হার্ড কোড ভিজ্যুয়াল স্টুডিও সংস্করণেও গিয়েছিলাম, তবে এটি আমার কাছে সর্বদা ত্রুটিটি ফেলে দেয়।

আমি অবশেষে ছেড়ে দিয়েছি, আমার স্থানীয় পিসি থেকে ডিএলএলগুলি টানলাম:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.XmlTransform.dll

আমি তাদের উত্স নিয়ন্ত্রণে আপলোড করেছি এবং সেই ফোল্ডারটি আমার বিল্ডের ওয়ার্কস্পেসে যুক্ত করেছি (সম্পাদনা বিল্ড সংজ্ঞা -> উত্স সেটিংস -> উত্স নিয়ন্ত্রণ ফোল্ডার)। সেখান থেকে, এমনকি আমার ফোল্ডারটিও উল্লেখ করার দরকার নেই - আমার ইউটিউটিং টাস্কটি দেখতে এখানে কী:

  <UsingTask TaskName="TransformXml" AssemblyFile="Microsoft.Web.Publishing.Tasks.dll" />

এখন আমি যে কোনও প্রকল্প থেকে আমার হৃদয়ের সামগ্রীতে ট্রান্সফর্মএক্সএমএল টাস্কটি ব্যবহার করতে পারি।


9
MSBuild.Microsoft.VisualStudio.Web.targets প্যাকেজ ছাড়া বনাম ইনস্টল গড়ে তুলতে প্রয়োজনীয় লক্ষ্যমাত্রা রয়েছে। উদাহরণস্বরূপ: <টাস্ক টাস্কনাম = "ট্রান্সফর্মএক্সএমএল" এসেম্বলি ফাইল = "প্যাকেজগুলি \ এমএসবাইল্ড.মাইক্রোসফট.ভিজুয়ালস্টুডিও.ওয়েব.এটারজেটস্.11.0.2.1 \ সরঞ্জামগুলি \ ভিএসটিউলপথ \ ওয়েব \ মাইক্রোসফ্ট.ওয়েব.পাবলিশিং.টাস্কস.ডিএল" />। আরও বিশদের জন্য এই ব্লগটি দেখুন
মুনপাট্রল

4
আরে @ মুনপ্যাট্রোল, আপনার এটি উত্তর দেওয়া উচিত, কারণ আমি এইভাবে পছন্দ করি - প্যাকেজ ইনস্টল করা এবং তারপরে উল্লেখ করা - একেবারে সর্বজনীন সমাধান :-) আমি কেবল এটি চেষ্টা করেছি এবং পুরোপুরিভাবে কাজ করি। যাহোক তোমাকে ধন্যবাদ! আপনি যদি এটির উত্তর দেন তবে আমাকে পিং করুন এবং আমি ভোট দেব।
টেঙ্গিজ

9

সমস্যাটি সমাধান করতে,

  1. আপনার কম্পিউটারে ভিজ্যুয়াল স্টুডিও ইনস্টলারটি সন্ধান করুন
  2. ইনস্টলারটি শুরু করতে ক্লিক করুন বা আলতো চাপুন এবং তারপরে পরিবর্তন নির্বাচন করুন।
  3. স্বতন্ত্র উপাদানগুলির স্ক্রীন থেকে, Asp.net এবং ওয়েব বিকাশ সরঞ্জাম নির্বাচন করুন এবং তারপরে পরিবর্তন / ইনস্টল করুন নির্বাচন করুন।

এটি সমস্যার সমাধান করেছে কারণ এটি উল্লিখিত পথে dll's তৈরি করে।


4
আমি ভিএস2017 ব্যবহার করছি এবং এই পদক্ষেপটি সম্পাদন করা এই ফাইলগুলি তৈরি করে না। আমি মনে করি আপনি সম্ভবত অন্য কিছু বাছাই করেছেন (বা এএসপি নেট এবং ওয়েব বিকাশ সরঞ্জামের সাথে মিলিয়ে) এটি যুক্ত করেছে। যদিও নিশ্চিত না :(
ক্রিস

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

আমি কেবল পুরো ওয়েব ওয়ার্কফ্লো চেষ্টা করেছি এবং এখনও এই ফাইলগুলি নেই। আমার মনে হচ্ছে এই সমাধানটি এত কাছে। আশা করি এটি পিন করা যেতে পারে যেহেতু উপাদানগুলি ইনস্টল করার জন্য আমার এইচডিডি তে সীমিত জায়গা রয়েছে
রবার্ট স্নাইডার

4
VS2017 এর জন্য, আমি করেছি Tools → Get Tools and Features... → Individual Components: Windows 10 SDK (10.0.14393.0) and ASP.NET and web development tools । এটি কৌশলটি করেছে বলে মনে হচ্ছে।
জন জোন্স

6

ভিএস2019 এর জন্য

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(MSBuildToolsVersion

আমি MSBuildToolsVersionসঙ্গে প্রতিস্থাপন VisualStudioVersion


এই দস্তাবেজটি "দ্বারা docs.microsoft.com/visualstudio/msbuild/... " পরিবর্তন MSBuildToolsVersion সঙ্গে VisualStudioVersion তারপর আমি "যে propety ভালো ভাল কাজ পরিবর্তন $ (MSBuildExtensionsPath32) \ মাইক্রোসফট \ VisualStudio \ বনাম $ (VisualStudioVersion) "
কিম কি বিজয়ী

5

যেহেতু আমার ভিজ্যুয়ালস্টুডিও ফোল্ডারে কেবলমাত্র v12.0, v14.0 এবং v15.0 রয়েছে, তাই আমি আমার প্রকল্পের ফাইলটি সম্পাদনা করি এবং রেফারেন্সের পথটি v10.0 থেকে v14.0 এ পরিবর্তন করি। তারপরে প্রকল্পটি সফলভাবে তৈরি করে।

আগে:

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />

পরে:

<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" />

2

এর সঠিক উত্তরটি হ'ল প্রকল্পটি আনডাউন করা এবং তারপরে সিএসপিজেজ ফাইলটি সম্পাদনা করা, এমন একটি প্রবেশের সন্ধান করুন যেখানে তারা 10.0 পাথ উল্লেখ করছেন এবং পরিবর্তে এটি 11.0 এ স্থানান্তর করুন।


তার জন্য + 1 আমি যখন আমার কাজের জায়গার ফোল্ডারগুলি একটি ডেভ মেশিন থেকে অন্য কম্পিউটারে অনুলিপি করেছিলাম তখন আমি এই সমস্যাটি তৈরি করেছি। দ্বিতীয় দেব মেশিনটিতে v10 ইনস্টল করা হয়েছিল, v10 নয়। সুতরাং, ভি 10 ফোল্ডারটি খালি ছিল।
ম্যাপলমেলে

1

এটি কার্যকর করতে আপনার দুটি জিনিস প্রয়োজন:

1) আপনার বিল্ড সার্ভারে নির্বাচিত "ওয়েব ডেভলপমেন্ট বিল্ড সরঞ্জাম" বিকল্প সহ ভিজ্যুয়াল স্টুডিও বিল্ড সরঞ্জামগুলি (আপনার পুরো ভিজ্যুয়াল স্টুডিওর প্রয়োজন নেই, কেবলমাত্র ভিএস বিল্ড সরঞ্জামগুলির দরকার নেই) ইনস্টল করুন https://www.visualstudio.com/pl/thank -আপনি-ডাউনলোডিং-ভিজ্যুয়াল-স্টুডিও /? স্কু = বিল্ডটুলস & রিল = 15

2) মাইক্রোসফ্ট. ওয়েবে.পাবলিশিং.টাস্কস.ডিএল-এর সেই পথটি সঠিক

  <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(MSBuildToolsVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />

1

আমার জন্য এটি নুগেট প্যাকেজ এমএসবিল্ড.মাইক্রোসফট.ভিজুয়াল স্টুডিও.ওয়েব.টারাজেটস v14.0.0.3 এ রেফারেন্স যুক্ত করে কাজ শুরু করেছে

এমনকি প্যাকেজ লেখকের দ্বারা উল্লিখিত প্রজেক্ট ফাইলে ইউটিজ টাস্ক উপাদান যুক্ত করার দরকার নেই

https://github.com/pdonald/nuget-webtargets

শুধু নিউগেট প্যাকেজ ইনস্টল করুন। প্যাকেজটি স্বয়ংক্রিয়ভাবে সরঞ্জাম ফোল্ডারে লক্ষ্য ফাইলটি ব্যবহার করতে $ (VSToolsPath) বৈশিষ্ট্যটি সেট করে।

এবং তারপরে আমি প্যাকেজটিতে সংজ্ঞায়িত ট্রান্সফর্মএক্সএমএল এবং অন্যান্য কার্যগুলি ব্যবহার করতে সক্ষম হয়েছি, উদাহরণস্বরূপ অ্যাপ্লিকেশন কনফিগ রূপান্তর করতে

  <Target Name="app_config_AfterCompile" AfterTargets="AfterCompile" Condition="Exists('app.$(Configuration).config')">
    <!--Generate transformed app config in the intermediate directory-->
    <TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" />
    <!--Force build process to use the transformed configuration file from now on.-->
    <ItemGroup>
      <AppConfigWithTargetPath Remove="App.config" />
      <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config">
        <TargetPath>$(TargetFileName).config</TargetPath>
      </AppConfigWithTargetPath>
    </ItemGroup>
  </Target>

0

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

  1. প্রথমে আপনার প্রকল্পে SlowCheetah nuget প্যাকেজ ইনস্টল করা উচিত । এটি ইনস্টল হয়ে গেলে আপনি আপনার এসডিকে-স্টাইল প্রকল্পে নিম্নলিখিতটি দেখতে পাবেন।

    <PackageReference Include="Microsoft.VisualStudio.SlowCheetah" Version="3.2.20">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    
  2. তারপরে নিশ্চিত করুন যে আপনি জেনারেটপথপ্রোপার্টি = "সত্য" বৈশিষ্ট্য যুক্ত করেছেন (নীচে দেখুন)। এটি পরবর্তী অংশের জন্য খুব গুরুত্বপূর্ণ কারণ এটি আপনাকে আপনার মেশিনে নুগেট প্যাকেজটি পুনরুদ্ধার করা পথে পরিচালিত করতে সহায়তা করবে। জর্জ ড্যাংল এখানে তার নিবন্ধে এটি ব্যাখ্যা করেছেন ।

    <PackageReference Include="Microsoft.VisualStudio.SlowCheetah" Version="3.2.20" GeneratePathProperty="true">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
    
  3. আপনার প্রকল্পে স্লোচিটাহা লক্ষ্যগুলি আমদানি করুন:

    <Import Project="$(PkgMicrosoft_VisualStudio_SlowCheetah)\build\Microsoft.VisualStudio.SlowCheetah.targets" />
    
  4. কিছু কাস্টম ট্রান্সফরমেশন প্রয়োগ করতে আপনি এখন টার্গেট কমান্ড (প্রকাশের পরে এই ক্ষেত্রে) ব্যবহার করতে পারেন। আপনার যদি প্রয়োজন হয়, আপনি নীচের উদাহরণে ভেরিয়েবলগুলি ব্যবহার না করে নীচের ফাইলের নামগুলি সর্বদা হার্ড-কোড করতে পারেন।

    <Target Name="AfterPublishs" AfterTargets="Publish">
         <TransformTask Source="Web.config" Transform="Web.$(Configuration).MyCustomTransformFile.config" Destination="$(PublishDir)\Web.config" />
    </Target>
    

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

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