当我尝试构建项目时,出现以下错误:
error : Unable to update the AssemblyFileVersion for c:\builddir\MyProject\AssemblyInfo.cs: No stub entry for AssemblyFileVersion was found in the AssemblyInfo file.
我找到了this文章,这意味着需要“存根”属性。所以,在我的AssemblyInfo.cs中,我尝试指定一个:
[assembly: AssemblyFileVersion("1.0.0")]
但是,它不被认可。我终于遇到了this文章,其中说你不能将CF的AssemblyFileVersion属性使用。构建脚本使用的目标文件也用于构建其他非CF项目,并且需要为它们更新FileVersion。
是否可以在AssemblyInfo.cs文件,目标文件或构建脚本中放置一些东西来阻止这个问题?
答案 0 :(得分:0)
是的,就像这样:
#if !(WindowsCE || PocketPC)
[assembly: AssemblyFileVersion("1.0.0")]
#endif
答案 1 :(得分:0)
如果以其他答案中描述的方式使用预处理器不适合您,请考虑将AssemblyFileVersion属性放入单独的源文件中,并有条件地在项目中包含该源文件:
<Compile Include="AssemblyInfo.cs" />
<Compile Include="AssemblyInfo.AssemblyVersion.cs"
Condition="
'$(TargetPlatform)' == 'WindowsCE' OR
'$(TargetPlatform)' == 'PocketPC'"
/>
我不确定您是否已经在项目文件中使用了属性,或者您是否需要声明自己的属性(可能是$(平台)用于此?)