স্বয়ংক্রিয়ভাবে সংস্করণ সংখ্যা আপডেট করুন

আমি প্রতিটি বিল্ডের জন্য আমার অ্যাপ্লিকেশনের সংস্করণটি বাড়িয়ে তুলতে চাই কিন্তু ভিসুয়াল স্টুডিও (2005/2008) এ কিভাবে এই কার্যকারিতাটি সক্ষম করব তা নিশ্চিত নই। আমি বিবিসির ভার্সনকে 1.0 হিসাবে নির্দিষ্ট করার চেষ্টা করেছি। * কিন্তু এটি আমার কাছে ঠিক কি চাইবে তা আমি পাই না।

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

আমি 1.1.38 আকারের একটি সংস্করণ সংখ্যা প্রদর্শন করতে সক্ষম হব, যখন একটি ব্যবহারকারী একটি সমস্যা খুঁজে বের করে আমি তাদের ব্যবহার করে সেই সংস্করণে লগ ইন করতে পারি যা তাদের পুরানো সংস্করণে আপগ্রেড করার কথা বলে।

কিভাবে সংস্করণ কাজ করা একটি সংক্ষিপ্ত ব্যাখ্যা এছাড়াও প্রশংসা করা হবে। যখন বিল্ড এবং পুনর্বিবেচনা নম্বর বাড়ায় না?

0
যোগ সম্পাদিত
মতামত: 1
নিম্নলিখিত প্রশ্নটি একটি সহজ সুবিধাজনক সমাধান হিসাবে কিভাবে একটি বিল্ড ইভেন্টে একটি সোর্স ফাইল তৈরির মাধ্যমে আপনার অ্যাপ্লিকেশনে একটি বিল্ড সংখ্যা ইনজেকশন হিসাবে। stackoverflow.com/questions/4450231/…
যোগ লেখক Ashley Davis, উৎস

11 উত্তর

According to Wikipedia: "[Game Boy's] monochrome screen, lack of a backlight, and less powerful hardware" is at the root of the problem.

9
যোগ
ওহ, আমি একরকমভাবে সম্পূর্ণরূপে চালিত পরিচালিত যখন আমি নিবন্ধ পড়া ছিল।
যোগ লেখক Joshua McKinnon, উৎস
একটি অতিরিক্ত হিসাবে, যখন রেজুলেশন একই ছিল, গিয়ার একটি বড় পর্দা ছিল (3.2 "বনাম 2.6"), যা সম্ভবত হিসাবে ভাল অবদান।
যোগ লেখক André Paramés, উৎস

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

5
যোগ

আমার বোঝার হল যে মূলত রঙের LCDs ছিল বড় শক্তি hogs। মূল গেম বয়ের সাথে প্রতিদ্বন্দ্বিতা করার জন্য অন্যান্য সকল রঙের হ্যান্ডহেল্ড একই সমস্যার সম্মুখীন হয়। ব্যাকলাইটিং প্রস্তাবিত যেগুলি একই রকম সেখানে একই রকম বিদ্যুৎ পানিতে ভুগছে।

চিপসেটগুলির বিদ্যুত ব্যবহারের বিষয়ে আমি মন্তব্য করতে পারি না, তবে এটি সম্ভবত একটি সমস্যা ছিল।

5
যোগ
ব্যাকলাইট ছিল সবচেয়ে বড় অপরাধী, আমি মনে করি।
যোগ লেখক Shinrai, উৎস

আমি মনে করি যে ব্যাটারি জীবনটি খেলা কার্তুজ মেমরি বরাদ্দকরণের বিষয়। এটি বেশ বড় আকারের, কিন্তু খুব কম সময়ে বাজানো হয় (উদাহরণস্বরূপ, হেজহগ/সোজাসুজি )।

উপরন্তু, রঙ এবং 5 ঘন্টার বেশী সময় স্থায়ী ব্যাটারি একটি কৌতুক হয়।

সম্পাদন করা

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

3
যোগ
আমি এই উত্তরটি অনেক বার পড়ার চেষ্টা করেছি, কিন্তু আমি এখনও বুঝতে পারি না যে আপনি "ব্যাটারি লাইনে খেলা কার্ট মেমরি বরাদ্দের প্রায়শই বড় আকারে বড়, কিন্তু খুব কমই খেললে" ;/i>
যোগ লেখক Denilson Sá Maia, উৎস
আমি কি বুঝাতে পারি যে কিছু গেমে মাঝে মাঝে কার্ট্রিজ থেকে মেমরির ভর্তুকি লাগে এবং যদি রঙগুলি বরাদ্দ হয় তবে তা ব্যাটারিতে দ্রুত ডুবিয়ে দেয়! এটি কতটা পিক্সেল, রং এবং মেমরি লোড করা হয় তার একটি বিষয়। সবচেয়ে সহজ উদাহরণ হল যখন খেলা ধীরে ধীরে ধীরে ধীরে এবং ধীর গতিতে! সম্পাদনা করুন: ধীর গতির সম্পর্কে আপনি প্রায়ই গেম গিয়ার জন্য সোনিয়ার 1 এ তাদের দেখতে পাবেন! AllieRX87 এর মতে সংঘর্ষ সনাক্তকরণের মতে!
যোগ লেখক TheAnimeMurder, উৎস
হ্যালো জুপপটার শোতে আপনার ভালো লাগছে! আপনি কি সুপার মারিও 64 হেরার ফ্রাবার জানেন! যদি আপনি করেন তবে কিছু হ্যাকের কথা বলার জন্য এই ফোরামে যেতে বলুন!
যোগ লেখক TheAnimeMurder, উৎস
উত্তর আমি প্রবেশ করেছেন!
যোগ লেখক TheAnimeMurder, উৎস
হাই, অ্যানিমেমর, গেমিংয়ে স্বাগতম! আমি এগিয়ে গিয়েছিলাম এবং এখানে আপনার দ্বিতীয় উত্তর অন্তর্ভুক্ত: আপনি যদি আপনার উত্তর প্রসারিত করতে চান, তাহলে নীচের "সম্পাদনা" লিঙ্কটি ক্লিক করুন।
যোগ লেখক user3389, উৎস
আমি বেশ ভাল এই উত্তর ভুল করছি। রম মেমরি পরিমাণ শক্তি ড্রেন জন্য ব্যাপার না। যদি অস্থির মেমরিটি DRAM হয়, তাহলে আবারও বিদ্যুৎ খরচটি ব্যবহার করা মেমরির পরিমাণের সাথে সম্পর্কযুক্ত নয়। যদি এটি SRAM হয় তাহলে, খরচ প্রতিটি বিট পরিবর্তন কত বার একটি ফাংশন হবে। কিন্তু, এখনও, এটি বড় শক্তি ড্রেনের প্রধান কারণ নয়। আমি বিশ্বাস করি ডিজিটাল সার্কিট অপেক্ষাকৃত সামান্য বর্তমান, যখন LCD এবং backlight অনেক বেশি (প্রতিরোধী লোড) নিষ্কাশন করা
যোগ লেখক Denilson Sá Maia, উৎস

"অন্তর্নির্মিত" সামগ্রী দিয়ে, আপনি 1.0 ব্যবহার করতে পারেন না। * বা 1.0.0। * কোডেড তারিখ / টাইমস্ট্যাম্পের সাথে সংশোধন ও বিল্ড সংখ্যার প্রতিস্থাপন করবে, যা সাধারণত একটি ভাল উপায়ও থাকে।

আরও তথ্যের জন্য, উইজেট লিঙ্কার ডকুমেন্টেশন দেখুন। / v ট্যাগ

স্বয়ংক্রিয়ভাবে নম্বর বাড়ানোর জন্য, AssemblyInfo টাস্কটি ব্যবহার করুন:

বিধানসভা কার্য সম্পাদন

এটি স্বয়ংক্রিয়ভাবে বিল্ড নম্বর বৃদ্ধি করতে কনফিগার করা যেতে পারে।

আছে 2 Gotchas:

  1. Each of the 4 numbers in the Version string is limited to 65535. This is a Windows Limitation and unlikely to get fixed.
  2. Using with with Subversion requires a small change:

সংস্করণ নম্বর উদ্ধার করা বেশ সহজ:

Version v = Assembly.GetExecutingAssembly().GetName().Version;
string About = string.Format(CultureInfo.InvariantCulture, @"YourApp Version {0}.{1}.{2} (r{3})", v.Major, v.Minor, v.Build, v.Revision);

এবং, স্পষ্ট করার জন্য: .net বা কমপক্ষে C# এ, নির্মাণটি আসলে THIRD নম্বর, চতুর্থটি নয় বরং কিছু লোক (উদাহরণস্বরূপ ডেলি ডেভেলপাররা মেজর.মিনর। রিইলি। বিল্ডের জন্য ব্যবহার করা হয়) আশা করতে পারে।

ইন .নেট, এটি মেজর.মিনির। বিল্ড। রিভিশন।

0
যোগ
@ জগিংনিটকেস - এই লিঙ্কটি নিখুঁত কাছাকাছি হবে, যদি এটি ভিজ্যুয়াল স্টুডিওর বর্তমান সংস্করণগুলির জন্য কাজ করে
যোগ লেখক Kraang Prime, উৎস
@ মাইক স্টামম: আপনি AssemblyInfo Task এর জন্য লিঙ্কটি আপডেট করতে পারেন আপনার উত্তর দয়া করে? আমার জন্য, এটি সঠিকভাবে লোড হচ্ছে না
যোগ লেখক Matt, উৎস
আমি এই ভিজ্যুয়াল স্টুডিও অ্যাড-ইন খুঁজে পেয়েছি যা অনুরূপ কিছু: autobuildversion.codeplex.com
যোগ লেখক jrsconfitto, উৎস
@ সানুয়েল জ্যাকসন হা হা! হ্যাঁ এটা হবে খুব খারাপ আমি 2010 থেকে আমার মন্তব্যের সাথে রাখা না, দুঃখিত! : পি সময় এবং সংস্করণ মার্চ আমাদের সব saddens।
যোগ লেখক jrsconfitto, উৎস
এর অর্থ কি ২4 জুন ২8 জুন মাইক্রোসফ্টের ডিফল্ট সংস্করণ সংখ্যা ভাঙবে? (2000 সালের 65536 তম দিন)
যোগ লেখক ThePower, উৎস
লিঙ্ক "AssemblyInfo Task" কাজ করছে না
যোগ লেখক Alexandre Cavaloti, উৎস

কিছু সময় আগে আমি একটি দ্রুত এবং নোংরা exe লিখেছিলাম যে সংস্করণ # এর একটি assemblyinfo। আপডেট করতে হবে {cs / vb} - আমি rxfind.exe (একটি সহজ এবং শক্তিশালী regex- ভিত্তিক অনুসন্ধান প্রতিস্থাপন টুল) ব্যবহার করেছেন বিল্ড প্রক্রিয়ার অংশ হিসাবে একটি কমান্ড লাইন থেকে আপডেট করুন। আরেকটি হেল্পফুলের সংকেত:

  1. separate the assemblyinfo into product parts (company name, version, etc.) and assembly specific parts (assembly name etc.). See here
  2. Also - i use subversion, so I found it helpful to set the build number to subversion revision number thereby making it really easy to always get back to the codebase that generated the assembly (e.g. 1.4.100.1502 was built from revision 1502).
0
যোগ
যদি এটি একটি কোড ফাইল ( .cs / .vb) এর জন্য হয় তবে আপনাকে একটি T4 টেমপ্লেট ব্যবহার করতে হবে।
যোগ লেখক BrainSlugs83, উৎস

আমি যে এটি একটি পণ্য সংস্করণ প্রয়োজন হয় যেখানে নিম্নলিখিত ব্যবহার করে কেবল শেষ বিল্ড তারিখ প্রদর্শন ভাল কাজ করে যে পাওয়া যায় নি:

System.IO.File.GetLastWriteTime(System.Reflection.Assembly.GetExecutingAssembly().Location).ToString("yyyy.MM.dd.HH.mm.ss")

পরিবর্তে কিছু মত সংস্করণ পেতে চেষ্টা করার চেয়ে:

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
object[] attributes = assembly.GetCustomAttributes(typeof(System.Reflection.AssemblyFileVersionAttribute), false);
object attribute = null;

if (attributes.Length > 0)
{
    attribute = attributes[0] as System.Reflection.AssemblyFileVersionAttribute;
}
0
যোগ
আমি মনে করি তোমার মানে এই: yyyy.mm.dd.HHmm yyy.M.D.HHMM না।
যোগ লেখক JHubbard80, উৎস

আপনি কোন উৎস নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করছেন?

প্রায় সকলের কাছেই $ আইডি $ ট্যাগের কিছু ফর্ম থাকে যা ফাইলটি যখন চেক করা হয় তখন প্রসারিত হয়।

আমি সংস্করণ নম্বর হিসাবে এই সাধারণত প্রদর্শন হ্যাকার কিছু ফর্ম ব্যবহার।

অন্য বিকল্পটি বিল্ড নম্বর হিসাবে তারিখ ব্যবহার করতে ব্যবহার করা হয়: 080803-1448

0
যোগ
আপনি প্রসারিত করতে পারেন "প্রায় সব তাদের ফাইল আছে চেক করার সময় প্রসারিত যে $ আইডি $ ট্যাগ কিছু ফর্ম আছে" বিশেষ করে, আপনি কি বামপন্থীদের জন্য জানেন?
যোগ লেখক Greg B, উৎস

ভিএসএনএইট 1.0 বিধানসভা সংস্করণটিকে ডিফল্ট করে। * এবং স্বয়ংক্রিয়ভাবে বৃদ্ধি করার সময় নিম্নোক্ত লজিক ব্যবহার করে: এটি 1 লা জানুয়ারী 2000 তারিখের দিনগুলির সংখ্যাটিকে বিল্ড অংশ সেট করে এবং মধ্যরাত থেকে পুনর্বিবেচনার সেকেন্ড সেকেন্ডের সংখ্যা নির্ধারণ করে, স্থানীয় সময়, দুই দ্বারা বিভক্ত এই MSDN নিবন্ধ দেখুন।

বিধানসভা সংস্করণ একটি assemblyinfo.vb বা assemblyinfo.cs ফাইলের মধ্যে অবস্থিত। ফাইল থেকে:

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
'  

 
 
0
যোগ
প্রাথমিক তারিখ সহকারে জন্য ধন্যবাদ: জানুয়ারী 1, 2000 </ কোড>
যোগ লেখক kiewic, উৎস

যদি আপনি কোনও একটি সংকলনটি সম্পন্ন করে এমন একটি স্বয়ংক্রিয় বৃদ্ধি সংখ্যা চান, তাহলে আপনি versionUpdater ব্যবহার করতে পারেন একটি প্রাক বিল্ড ইভেন্ট। আপনার পূর্বনির্ধারিত ইভেন্টটি বিল্ড কনফিগারেশন চেক করতে পারে যদি আপনি পছন্দ করেন তবে সংস্করণ সংখ্যা কেবলমাত্র একটি রিলিজ বিল্ডের জন্য বৃদ্ধি পাবে (উদাহরণস্বরূপ)।

0
যোগ
মজাদার. আমি একই নামের সঙ্গে আমার নিজের বছর ছিল করেছি এবং এক যে অস্তিত্ব জানেন না (যদিও আমি এটি সম্প্রতি অনলাইন করা): github.com/rjamesnw/VersionUpdater
যোগ লেখক James Wilkins, উৎস

[ভিসুয়াল স্টুডিও 2017, .proproj বৈশিষ্ট্যগুলি]

স্বয়ংক্রিয়ভাবে আপনার প্যাকেজ ভার্সন / সংস্করণ / বিন্যাসের সংস্করণ (অথবা অন্য কোনও সম্পত্তি) আপডেট করতে, প্রথমে একটি নতুন Microsoft.Build.Utilities.Task বর্গ তৈরি করুন যা আপনার বর্তমান বিল্ড নম্বর পেতে এবং আপডেট করা নম্বরটি ফেরত পাঠাতে পারে (আমি শুধু সেই শ্রেণীর জন্য একটি পৃথক প্রকল্প তৈরি করার সুপারিশ)।

আমি ম্যানুয়ালি ম্যানুয়ালি আপডেট করেছিলাম.মিনির সংখ্যাগুলি, কিন্তু বিল্ডের নম্বরটি স্বয়ংক্রিয়ভাবে আপডেট করতে MSBuild (1.1। 1 , 1.1। 2 , 1.1। 3 , ইত্যাদি :)

using Microsoft.Build.Framework;
using System;
using System.Collections.Generic;
using System.Text;

public class RefreshVersion : Microsoft.Build.Utilities.Task
{
    [Output]
    public string NewVersionString { get; set; }
    public string CurrentVersionString { get; set; } 

    public override bool Execute()
    {       
        Version currentVersion = new Version(CurrentVersionString ?? "1.0.0");

        DateTime d = DateTime.Now;
        NewVersionString = new Version(currentVersion.Major, 
            currentVersion.Minor, currentVersion.Build+1).ToString();
        return true;
    }

}

তারপর আপনার .cproj ফাইলের পরবর্তী কোড যোগ করে MSBuild প্রক্রিয়া আপনার সম্প্রতি তৈরি টাস্ক কল করুন:

    
...


   
                       
   
   
   

...

 ..
 1.1.4
 ..

ভিজুয়াল স্টুডিও প্যাক প্রজেক্টের বিকল্পটি বেছে নেওয়ার সময় (বিল্ডের আগে টাস্ক সম্পাদন করার জন্য BeforeTargets = "Build" তে পরিবর্তন করুন) রিফ্রেশ ভার্সন কোডটি নতুন সংস্করণ নম্বর গণনা করা হবে এবং XmlPoke </কোড> টাস্ক আপনার .csproj সম্পত্তিটি অনুযায়ী আপডেট হবে (হ্যাঁ, এটি ফাইলটি সংশোধন করবে)।

NuGet লাইব্রেরির সাথে কাজ করার সময়, আমি পূর্ববর্তী উদাহরণে পরবর্তী নির্মাণ টাস্ক যোগ করে NuGet সংগ্রহস্থলের প্যাকেজটিও পাঠাচ্ছি।



c:\nuget\nuget is where I have the NuGet client (remember to save your NuGet API key by calling nuget SetApiKey or to include the key on the NuGet push call).

শুধু এটি একটি সাহায্য করে যদি ^ _ ^।

0
যোগ