ডেভেলপার নির্দিষ্ট ভিজ্যুয়াল স্টুডিওতে অ্যাপকনফাইগ / ওয়েবকনফিগ ফাইলগুলি


94

আমাদের বেশ কয়েকটি। নেট প্রকল্প রয়েছে যেখানে আমরা কনফিগারেশন ফাইলগুলিতে নির্দিষ্ট সেটিংস সঞ্চয় করি।

এখন প্রতিটি বিকাশকারীর নিজস্ব কনফিগারেশন ফাইল থাকবে যা কিছুটা পৃথক (স্থানীয় ডাটাবেসগুলির সাথে সংযোগের জন্য বিভিন্ন সংযোগের স্ট্রিং, বিভিন্ন ডাব্লুসিএফ শেষ পয়েন্ট ইত্যাদি) etc.

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

এটি সময়ে সময়ে টিএফএস থেকে সর্বশেষ সংস্করণ পাওয়ার সময় কেউ নিজের সেটিংস বা আলগা কাস্টম কনফিগারেশনটি পরীক্ষা করে দেখায় অনেক সমস্যার সৃষ্টি করে

আপনি কীভাবে এই পরিস্থিতিতে পরিস্থিতি মোকাবেলা করবেন? নাকি আপনার এই সমস্যাটি মোটেই নেই?


10
আমি পুনরায় খুলতে ভোট দিচ্ছি, যেহেতু এটি ভিজ্যুয়াল স্টুডিও বিকাশকারীদের পক্ষে একটি সাধারণ সমস্যা এবং এতে সরাসরি সরঞ্জামগুলি জড়িত, বিকাশকারীরা ব্যবহার করছেন। (অতএব ভোটগুলি)
ক্রিশ্চিয়ান গোলহার্ট

সম্মত হন, এটি আমাদের অবিচ্ছিন্ন সমস্যা হওয়ায় আমাদের দলের আকার বেড়েছে এবং সমাধানের বিভিন্ন প্রচেষ্টা অসন্তুষ্ট হয়েছে।
ডিস্কজঙ্কি

উত্তর:


66

আমরা একটি সিস্টেম ব্যবহার করি যা এই পৃষ্ঠায় বিদ্যমান বেশ কয়েকটি উত্তরকে একত্রিত করে স্কট হ্যানসেলম্যানের এই পরামর্শের উপর দৃষ্টি আকর্ষণ করে ।

সংক্ষেপে, আমরা যা করেছি তা হ'ল একটি সাধারণ অ্যাপকনফাইগ / ওয়েবকনফিগ, এবং পৃথক ফাইলে সুনির্দিষ্ট সেটিংস থাকা, যেমন অন্যান্য উত্তর দ্বারা এখানে পরামর্শ দেওয়া হয়েছিল। উদাহরণস্বরূপ আমাদের এসএমটিপি সেটিংসের জন্য অ্যাপকনফাইগ রয়েছে

<system.net>
  <mailSettings>
    <smtp configSource="config\smtp.config" />
  </mailSettings>
</system.net>

এই ফাইলটি হল উৎস নিয়ন্ত্রণ। তবে পৃথক ফাইলগুলি, এর মতো নয়:

<?xml version="1.0" encoding="utf-8" ?>
<smtp deliveryMethod="Network">
  <network host="127.0.0.1" port="25" defaultCredentials="false" password="" userName ="" />
</smtp>

গল্পটি শেষ হলেও এটি বেশ নয় not নতুন বিকাশকারী, বা একটি নতুন উত্স ইনস্টলেশন সম্পর্কে কি? কনফিগারেশনের বেশিরভাগ অংশ সোর্স নিয়ন্ত্রণে নেই, এবং তাদের প্রয়োজনীয় সমস্ত .config ফাইল ম্যানুয়ালি তৈরির জন্য ব্যথা। আমি এমন উত্স থাকতে পছন্দ করি যা কমপক্ষে ঠিক বাক্সের বাইরেই সংকলন করবে।

অতএব আমরা সোর্স নিয়ন্ত্রণে .config ফাইলগুলির একটি সংস্করণ রাখি , যার নাম .config.default ফাইল। একটি তাজা উত্স ট্রি তাই দেখতে:

বিকল্প পাঠ

তবুও, সত্যই বিকাশকারীদের কোনও ব্যবহার নয়, যেহেতু ভিজ্যুয়াল স্টুডিওতে তারা কেবল অর্থহীন পাঠ্য ফাইল। সুতরাং ব্যাচ ফাইল, copy_default_config.bat.config.default ফাইল থেকে .config ফাইলের একটি প্রাথমিক সেট তৈরি করার যত্ন নেয়:

@echo off
@REM Makes copies of all .default files without the .default extension, only if it doesn't already exist. Does the same recursively through all child folders.
for /r %%f in (*.default) do (
    if not exist "%%~pnf" (echo Copying %%~pnf.default to %%~pnf & copy "%%f" "%%~pnf" /y)
)
echo Done.

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

শেষ পর্যন্ত প্রতিটি বিকাশকারী যা শেষ করে তা হ'ল কনফিগারেশন ফাইলগুলির একটি ফোল্ডার যা এরকম কিছু দেখায়:

বিকল্প পাঠ

এটি কিছুটা বিশৃঙ্খল মনে হতে পারে তবে এটি অবশ্যই একে অপরের পায়ের আঙ্গুলের পায়ে পায়ে বিকাশকারীদের ঝামেলার চেয়ে পছন্দনীয়।


সরাসরি সংগ্রহস্থলটিতে মূল .কনফিগ না থাকলেও স্বতন্ত্র ব্যক্তিদের কেন নয়?
গ্রাফিক

6
কী বেদনা, আমাদের এর জন্য আরও ভাল সমাধানের দরকার। আমার একটি অনুরূপ পদ্ধতি সেট আপ হয়েছিল এবং এটি এত ভঙ্গুর হয়ে গিয়ে ক্লান্ত হয়ে পড়েছিলাম এবং এখনও নতুন বিকাশকারীদের ব্যাখ্যা প্রয়োজন।
jpierson

@ গ্যাভিন, আপনি যে রূপকৃত ব্যাট ফাইলটি চালনার চেষ্টা করেছি তাতে আমি একটি ত্রুটি পেয়েছি: 'e @ ইকো' কোনও অভ্যন্তরীণ বা বাহ্যিক কমান্ড, অপারেবল প্রোগ্রাম বা ব্যাচ ফাইল হিসাবে স্বীকৃত নয়।
অস্টিন

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

21

আপনার ওয়েবকনফাইগে অন্য ফাইলগুলির উত্স ব্যবহার করুন

<configuration>
    <connectionStrings configSource="ConnectionStrings.config" />
...
</configuration>

ওয়েবকনফিগটিকে সংস্করণ নিয়ন্ত্রণে রাখুন এবং সংযোগসট্রিংসকনফিগের জন্য এটি করবেন না। এখন সমস্ত বিকাশকারীদের সংযোগ স্ট্রিংয়ের জন্য একটি ফাইল রয়েছে।

স্থানীয় নির্ভরতাযুক্ত সমস্ত সেটিংসের জন্য আপনি এটি করতে পারেন।


4
এটি আমার পক্ষে দুর্দান্তভাবে কাজ করেছে। আরও দেখুন: davidgiard.com/2012/05/25/… সংযোগসট্রিংস.কনফিগ ফাইলটি অ্যাপ্লিকেশন বা ওয়েব কনফিগারেশনের মতো একই ফোল্ডারে থাকতে হবে। এছাড়াও, আপনাকে অবশ্যই এর বৈশিষ্ট্যগুলি 'নতুন হলে অনুলিপি করুন' আউটপুটে পরিবর্তন করতে হবে। এবং সংযোগসট্রিংস.কনফিগ ফাইলটির খোলার এবং বন্ধ করার উপাদানগুলির সাথে সম্পূর্ণ বিভাগ প্রয়োজন। ফাইলটি উপেক্ষা করার জন্য আপনাকে সংস্করণ নিয়ন্ত্রণও নির্ধারণ করতে হবে যাতে প্রতিটি ব্যবহারকারী-নির্দিষ্ট।
জেফ্রি রাফগার্ডেন

4
আমি সেটিংগুলিকে মার্জ করতে হয়েছিলাম তাই আমি <অ্যাপসেটেটিং ফাইল = ".."> বিকল্পটি ব্যবহার করেছি
স্পিকোলিএন

4
@ জেফ্রেআরফগার্ডেন যদি আপনি সলিউশন এক্সপ্লোরারে সংযোগসট্রিংস.কোনফিগ ফাইলটি অন্তর্ভুক্ত করেন, তবে ফাইলসাইস্টেমে ফাইলটির অস্তিত্ব থাকতে হবে না? এবং যদি এটি হয় তবে এর অর্থ আপনি এটি উত্স নিয়ন্ত্রণে পরীক্ষা করেছেন। যা প্রাথমিক সমস্যাটি থেকে আমরা দূরে সরে যাওয়ার চেষ্টা করছিলাম।
জেজ

20

এখানে ওয়েবকনফিগ ফাইল এবং ভিজ্যুয়াল স্টুডিও 2010 এর সমাধান রয়েছে:

1) এটির AfterBuildমতো একটি টার্গেট যুক্ত করতে আপনার ওয়েব অ্যাপ্লিকেশন .csproj ফাইলটিকে ম্যানুয়ালি সম্পাদনা করুন :

  <Project>
   ...
    <Target Name="AfterBuild">
      <Copy SourceFiles="web.config" DestinationFiles="obj\$(Configuration)\tempweb.config" />
      <TransformXml Source="obj\$(Configuration)\tempweb.config"
                  Transform="web.$(USERNAME).config"
                  Destination="obj\$(Configuration)\tempweb2.config" />
      <ReadLinesFromFile File="obj\$(Configuration)\tempweb2.config"><Output TaskParameter="Lines" ItemName="TransformedWebConfig"/></ReadLinesFromFile>
      <ReadLinesFromFile File="web.config"><Output TaskParameter="Lines" ItemName="UnTransformedWebConfig"/></ReadLinesFromFile>
      <Copy Condition=" @(UnTransformedWebConfig) != @(TransformedWebConfig) " SourceFiles="obj\$(Configuration)\tempweb2.config" DestinationFiles="web.config" OverwriteReadOnlyFiles="True" />
    </Target>
  </Project>

এই টার্গেটটি বর্তমান বিকাশকারী লগ ইন-এর সাথে সম্পর্কিত Web.config ফাইলকে রূপান্তরিত করবে - সুতরাং $(USERNAME)ভেরিয়েবল -, 1 টিতে নির্মিত ফাইলের সাথে)। এটি স্থানীয় ওয়েবকনফিগকে কেবলমাত্র প্রতি বিল্ডে পুনর্সূচনা এড়াতে (পুনঃসূচনা এড়াতে) পরিবর্তিত হলে স্থানীয় ওয়েবকনফিগটি উত্স নিয়ন্ত্রিত থাকলেও সেখানে সত্যটিতে OverwriteReadOnlyFilesসেট করা আছে। এই পয়েন্টটি আসলে তর্কযোগ্য।

2) Web.[developer windows login].configপ্রকল্পের প্রতিটি বিকাশকারীর জন্য একটি ফাইল তৈরি করুন । (উদাহরণস্বরূপ নীচের স্ক্রিনশটগুলিতে আমার স্মু ও স্মুথ 2 নামে দুটি বিকাশকারী রয়েছে):

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

এই ফাইলগুলি (প্রতি বিকাশকারী 1 জন) উত্স-নিয়ন্ত্রিত হতে পারে। এগুলিকে মূল ওয়েবকনফিগের উপর নির্ভরশীল হিসাবে চিহ্নিত করা উচিত নয় কারণ আমরা তাদের পৃথকভাবে চেক আউট করতে সক্ষম হতে চাই।

এই ফাইলের প্রত্যেকটিই মূল ওয়েব.কনফিগ ফাইলটিতে প্রয়োগের জন্য একটি রূপান্তর উপস্থাপন করে। রূপান্তর সিনট্যাক্সটি এখানে বর্ণিত হয়েছে: ওয়েব অ্যাপ্লিকেশন প্রকল্পের স্থাপনার জন্য ওয়েবকনফিগ ট্রান্সফর্মেশন সিনট্যাক্স । আমরা এই দুর্দান্ত XML ফাইল রূপান্তর টাস্কটি পুনরায় ব্যবহার করি যা ভিজ্যুয়াল স্টুডিওর সাথে বাক্সের বাইরে চলে আসে। এই টাস্কটির উদ্দেশ্য হ'ল পুরো ফাইলটি ওভাররাইট করার পরিবর্তে এক্সএমএল উপাদান এবং বৈশিষ্ট্যগুলি একত্রিত করা

উদাহরণস্বরূপ, এখানে একটি নমুনা web.[dev login].configযা 'মাইডিবি' নামে একটি সংযোগের স্ট্রিং পরিবর্তন করে, ওয়েবকনফিগের বাকী ফাইল নির্বিশেষে:

<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
    <connectionStrings>
      <add name="MyDB" 
        connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" 
        xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
    </connectionStrings>
</configuration>

এখন, এই সমাধানটি নিখুঁত নয় কারণ:

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

তবে কমপক্ষে, আপনাকে কেবল বিকাশকারীদের জন্য একটি অনন্য প্রধান ওয়েবকনফিগ প্লাস একটি ট্রান্সফর্মেশন ফাইল বজায় রাখতে হবে।

App.config (ওয়েব নয়) ফাইলগুলির জন্য অনুরূপ পন্থা নেওয়া যেতে পারে তবে আমি আরও বিস্তারিত জানাতে পারি নি।


আমি আমার ওয়েবকনফিগের নাম পরিবর্তন করে ওয়েব.বেস.কনফিগ রেখেছি, একটি নতুন ওয়েবকনফিগ ফাইল তৈরি করেছি, তারপরে <কপির সোর্স ফাইলস "" ওয়েবকনফিগ "> থেকে <কপি সোর্স ফাইলস =" ওয়েব.ব্যাসকনফিগ "এ পদক্ষেপ 1 এ পরিবর্তন করেছি। এটি করে, আমার কাছে একটি স্থানীয় ওয়েবকনফিগ থাকতে পারে যা উত্স নিয়ন্ত্রণে উপেক্ষা করা যেতে পারে।
এস বাগি

এটি এখনও আদর্শ নয় তবে আমি এটি অন্যান্য সমাধানের চেয়ে পছন্দ করি
জেএমকে

আপনি কি মনে করেন যে এটি web.default.configকখন web.$(USERNAME).configবিদ্যমান নেই যখন ব্যবহার করা সম্ভব ? এই দুর্দান্ত উত্তরের জন্য আপনাকে ধন্যবাদ।
খ্রিস্টান গোলহার্ড


0

ফাইলটিকে উপেক্ষা করার বিষয়ে, তাই এটি কখনই চেক ইন হয় না? আমি একটি অনুরূপ ইস্যুতে চালিত হয়েছি এবং সাবভার্সনের উপেক্ষা তালিকায় ওয়েব কোডফাইগ যুক্ত করেছি।

যদিও টিএফএসে এটি কিছুটা শক্ত, এটি কীভাবে করবেন তা এই পোস্টটি দেখুন ।


0

আপনি যেভাবে মোকাবেলা করতে পারেন তার একটি উপায় হ'ল টোকেনাইজড সিস্টেম থাকা এবং মানগুলি পরিবর্তন করতে একটি রেক স্ক্রিপ্ট ব্যবহার করা।

আপনার ওয়েবকনফাইগের সমস্ত অ্যাপসেটেটিংয়ের জন্য একটি অ্যাপসেটিকেশনস.কনফিগ ফাইলের লিঙ্ক থাকা (সংযোগগুলির সাথে সমান) অর্থাত্ আরও প্রাথমিক পদ্ধতি হতে পারে

<appSettings configSource="_configs/AppSettings.config" />

তারপরে আপনার প্রতিটি বিকাশকারী সহ একটি ফোল্ডার একটি উপ ফোল্ডারে (যেমন / _configs / ডেভ /) আছে have তারপরে যখন কোনও বিকাশকারী তাদের নিজস্ব কোডে কাজ করে তারা সাব ফোল্ডার থেকে লিঙ্কযুক্ত ফোল্ডারের মূলটিতে অনুলিপি করে।

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

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


0

ফাইলগুলি উপেক্ষা করুন এবং একটি Commom_Web.Config এবং সাধারণ_আপন.কনফিগ রয়েছে। বিল্ড টাস্কগুলির সাথে অবিচ্ছিন্ন ইন্টিগ্রেশন বিল্ড সার্ভার ব্যবহার করে যা এই দুটির নামকরণ করে সাধারণ নাম রাখে যাতে বিল্ড সার্ভারটি তার কাজটি করতে পারে।


এটি সার্ভার তৈরির আগে দেব মেশিনে করা দরকার
twarz01

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

এটি যে জিনিসটিকে সমর্থন করে না তা হ'ল ডেভেলপাররা অ্যাপ্লিকেশনটি ডিবাগ করে। web.configউত্স ফোল্ডারের মূলটি ডিবাগিংয়ের সময় ব্যবহৃত হয়। যদি আপনি, উদাহরণস্বরূপ যুক্ত web.configহন .gitignoreএবং হয় ব্যবহারকারীদের অনুলিপি Commom_Web.Configকরতে web.configএবং এটি সম্পাদনা করার প্রয়োজন হয় তবে আপনি সেখানকার অংশের অংশ। তবে তারপরে আপনার যখন সমস্ত বিকাশকারীর মেশিনে একই রকম কিছু যেমন সম্পাদনা করা দরকার যেমন system.web/compilationবিভাগ বা বিশেষ appSettingsযা সর্বত্র একই হতে পারে, তখন এই স্কিমটি পৃথক হয়ে যায়।
বিনকি

0

আমাদের একই সমস্যা এবং আমরা যা করছি তা হচ্ছে

  • টেস্টসভার / প্রোডাকশন মান সহ ওয়েবকনফিগ-এ পরীক্ষা করুন
  • বিকাশকারী উইন্ডোজ এক্সপ্লোরারে যান এবং কেবল ফাইলের পঠন মোডে পরিবর্তন করেন
  • কনফিগারেশনটি তাদের পরিবেশ অনুসারে সম্পাদনা করুন।
  • ওয়েবকনফিগটিতে চেক ইন করুন কেবল তখনই ঘটে যখন স্থাপনার মান পরিবর্তন হয় বা কোনও কনফিগার এন্ট্রি যুক্ত বা মুছে ফেলা হয়।
  • প্রতিটি কনফিগার এন্ট্রির জন্য এটি ভাল পরিমাণে মন্তব্য প্রয়োজন কারণ এটি প্রতিটি দেবের দ্বারা পরিবর্তন করা দরকার

4
এটি এমন দোকানগুলিতে আরও ভাল কাজ করতে পারে যেখানে আপনি ব্যবহার করেন সোর্স নিয়ন্ত্রণটি কেবলমাত্র ডিফল্ট হিসাবে পঠন হিসাবে ক্ষেত্রগুলি সেট করে তবে অন্যদের সাবভারশন ব্যবহার করার ক্ষেত্রে এটি কাজ নাও করতে পারে। এটি প্রতিশ্রুতিবদ্ধ হওয়া থেকে রোধ করার জন্য আমরা সংগ্রহশালায় কেবল পঠন অনুমতিগুলি সেট করতে পারতাম তবে প্রতিটি শাখার জন্য প্রতিটি কনফিগারেশন ফাইলে সেট করা দরকার।
jpierson

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

-1

ধরে নিই যে আপনি ভিজ্যুয়াল স্টুডিও ব্যবহার করছেন, কেন আপনি বিভিন্ন সমাধান কনফিগারেশন ব্যবহার করেন না? উদাহরণস্বরূপ: আপনার একটি ডিবাগ কনফিগার থাকতে পারে যা Web.config.debug ব্যবহার করে এবং একটি রিলিজ কনফিগারেশন যা Web.config.re দয়া করে ব্যবহার করতে পারে। Web.config.debug এর মতো কিছু হওয়া উচিত

<appSettings file="C:/Standard_Path_To_Configs/Standard_Name_For_Config.config"> 

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


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