2016-08-26 3 views
15

पहले, AssemblyInfo.cs फ़ाइल को विजुअल स्टूडियो द्वारा असेंबली-वाइड विशेषताओं, जैसे असेंबली वर्जन, असेंबलीनाम और अन्य में शामिल किया गया था।क्या मुझे .NET कोर के साथ काम करते समय असेंबलीइन्फो की आवश्यकता है?

.NET कोर और एएसपी.नेट कोर में, project.json उस जानकारी को अधिकतर रखने के लिए ज़िम्मेदार है।

तो सवाल यह है: क्या मुझे अपनी असेंबली को उन विशेषताओं के साथ चिह्नित करने की आवश्यकता है? यदि मैं उन विशेषताओं के साथ असेंबली को चिह्नित नहीं करूं तो मुझे कौन से जाल मिल सकते हैं?

+0

क्या आप अधिक विशिष्ट हो सकते हैं जो आपको याद करते हैं और आप किससे डरते हैं? –

+0

मुझे वास्तव में अनावश्यक गुण मिल रहे हैं: 'असेंबली वर्जन' ('संस्करण'), 'असेंबली टाइटल' (' शीर्षक'), 'असेंबली डिस्क्रिप्शन' ('कॉपीराइट')। मुझे कुछ विशेषताओं की आवश्यकता होने से डर है, जब इन असेंबली का उपयोग यूडब्ल्यूपी या क्रॉस-प्लेटफ़ॉर्म समाधानों में किया जाएगा। आम तौर पर, मैं केवल 'project.json' के साथ जाना चाहता हूं। – brutallord

उत्तर

16

project.json ने AssemblyInfo को बदल दिया है।

AssemblyVersionAttributeversion संपत्ति

version 
Type: String 
The Semver version of the project, also used for the NuGet package. 

AssemblyNameAttrinbute की जगह अब name संपत्ति

name 
Type: String 
The name of the project, used for the assembly name as well as the name of the package. The top level folder name is used if this property is not specified. 

और इतने पर


अद्यतन है : .NET कोर टूल्स MSBuild की घोषणा के साथ, .csproj को project.json प्रतिस्थापित किया गया है, फिर एक AssemblyInfo.cs फ़ाइल है, लेकिन अधिकांश सेटिंग्स सीधे .csproj पर ले जाया गया है। अधिक जानकारी के लिए संबंधित तो सवाल यह देखें: Equivalent to AssemblyInfo in dotnet core/csproj:

<Project Sdk="Microsoft.NET.Sdk"> 
    <PropertyGroup> 
    <TargetFramework>net461</TargetFramework> 
    <Version>1.2.3.4</Version> 
    <Authors>Author 1</Authors> 
    <Company>Company XYZ</Company> 
    <Product>Product 2</Product> 
    <PackageId>MyApp</PackageId> 
    <AssemblyVersion>2.0.0.0</AssemblyVersion> 
    <FileVersion>3.0.0.0</FileVersion> 
    <NeutralLanguage>en</NeutralLanguage> 
    <Description>Description here</Description> 
    <Copyright>Copyright</Copyright> 
    <PackageLicenseUrl>License URL</PackageLicenseUrl> 
    <PackageProjectUrl>Project URL</PackageProjectUrl> 
    <PackageIconUrl>Icon URL</PackageIconUrl> 
    <RepositoryUrl>Repo URL</RepositoryUrl> 
    <RepositoryType>Repo type</RepositoryType> 
    <PackageTags>Tags</PackageTags> 
    <PackageReleaseNotes>Release</PackageReleaseNotes> 
    </PropertyGroup> 
7

project.jsonAssemblyInfo.cs के लिए एक सीधा प्रतिस्थापन नहीं है, इसलिए वहाँ अभी भी जरूरत है अगर आप कुछ मान आप project.json में प्रदान नहीं कर सकते परिभाषित करना चाहते हैं।

अंक https://github.com/aspnet/dnx/issues/2715 जैसा कि आप देख सकते हैं, कि शुरुआत में कुछ मानकों, title, description, copyright, आदि जहां उत्पन्न nuget संकुल के लिए खेतों को भरने के लिए ले लिया है। 2715 के मुद्दे के साथ विचार पैदा हुआ था, कि ये मूल्य "विधानसभा में बह सकते हैं"। ताकि आपको इन क्षेत्रों को दो अलग-अलग स्थानों में कॉन्फ़िगर नहीं किया जा सके। इसलिए यदि आप इन पैरामीटर से अधिक कॉन्फ़िगर नहीं करना चाहते हैं, तो AssemblyInfo.cs की आवश्यकता नहीं है।

[InternalsVisibleTo] जैसे अन्य फ़ील्ड हैं जिन्हें project.json में कॉन्फ़िगर नहीं किया जा सकता है। ऐसे में ऐसे मामले हैं जहां अभी भी एक को परिभाषित करने की आवश्यकता है।

संबंधित मुद्दे

 संबंधित मुद्दे