相关疑难解决方法(0)

GetCustomAttribute()为AssemblyVersionAttribute返回null

我正在向.NET应用程序添加一个About对话框,我正在查询程序集的属性以显示信息.当我尝试AssemblyVersionAttribute使用GetCustomAttribute()它来检索我的程序集时返回null:

// Works fine
AssemblyTitleAttribute title
    = (AssemblyTitleAttribute)Attribute.GetCustomAttribute(
        someAssembly, typeof(AssemblyTitleAttribute));

// Gets null
AssemblyVersionAttribute version
    = (AssemblyVersionAttribute)Attribute.GetCustomAttribute(
        someAssembly, typeof(AssemblyVersionAttribute));
Run Code Online (Sandbox Code Playgroud)

AssemblyInfo.cs觉得很好.我定义了这些属性:

[assembly: AssemblyTitle("Some Application")]
[assembly: AssemblyVersion("1.0.0.0")]
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?我有一个解决方法,但我想知道为什么上面的代码不起作用.

// Work-around
string version = someAssembly.GetName().Version.ToString();
Run Code Online (Sandbox Code Playgroud)

.net null assemblyversionattribute

21
推荐指数
3
解决办法
5459
查看次数

从类库中检索AssemblyCompanyName

我想从我的C#类库中的WinForm项目中获取AssemblyCompany属性.在WinForms中,我可以使用以下方式获取此信息:

Application.CompanyName;
Run Code Online (Sandbox Code Playgroud)

但是,我似乎找不到使用类库获取相同信息的方法.你能提供的任何帮助都会很棒!

.net c#

21
推荐指数
2
解决办法
7335
查看次数

使用AssemblyInfo自动更新多个AssemblyInfo.cs文件

我在一个解决方案中有许多AssemblyInfo.cs文件作为许多项目的一部分,我作为TeamCity的一部分自动构建.

为了使msbuild脚本更易于维护,我希望能够将AssemblyInfo社区任务与ItemGroup结合使用,例如

<ItemGroup>
     <AllAssemblyInfos Include="..\**\AssemblyInfo.cs" />
</ItemGroup>

<AssemblyInfo AssemblyTitle="" AssemblyProduct="$(Product)" AssemblyCompany="$(Company)" AssemblyCopyright="$(Copyright)" 
                  ComVisible="false" CLSCompliant="false" CodeLanguage="CS" AssemblyDescription="$(Revision)$(BranchName)" 
                  AssemblyVersion="$(FullVersion)" AssemblyFileVersion="$(FullVersion)" OutputFile="@(AllAssemblyInfos)" />
Run Code Online (Sandbox Code Playgroud)

由于OutputFile不能是引用的ItemGroup,因此它无法正常工作.

有谁知道如何使这项工作?

msbuild teamcity continuous-integration

8
推荐指数
2
解决办法
7445
查看次数