求助:无法在Visual Studio中构建Azure Functions调试版本
嘿,我之前调试Azure Functions时也碰到过一模一样的问题——Release构建发布都顺得很,一切到Debug就炸出一堆CS0579重复属性报错,给你几个亲测有效的解决思路:
检查AssemblyInfo.cs和.csproj的属性冲突
现在的SDK-style项目(包括Azure Functions项目)默认会自动从.csproj配置里生成AssemblyCompany、AssemblyConfiguration这些特性。如果你的项目里还保留着旧的Properties/AssemblyInfo.cs文件,并且里面手动写了这些特性定义,就会和自动生成的内容重复冲突。
解决办法二选一:- 打开
AssemblyInfo.cs,删掉所有和报错提示重复的[assembly: ...]属性行; - 在你的Functions项目的.csproj文件里添加一行配置:
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>,关闭自动生成,让手动写的AssemblyInfo生效。
- 打开
清理Debug缓存并重建
有时候Debug构建的缓存文件会残留旧的属性定义,导致冲突。先右键解决方案选择「清理」,然后手动删除项目目录下的bin/Debug和obj/Debug文件夹,再重新构建Debug版本试试。检查引用项目的属性配置
如果你的Functions项目引用了其他类库项目,看看那些类库是不是也定义了相同的Assembly特性。Debug构建时会把所有引用项目的输出合并,可能会出现跨项目的属性重复。可以检查引用项目的AssemblyInfo或.csproj,确保不会重复定义这些特性。更新Azure Functions SDK包
旧版本的Microsoft.NET.Sdk.Functions包可能存在Debug构建时的属性生成bug。打开NuGet包管理器,把这个包更新到最新的稳定版本,说不定就能解决问题。
我当时是因为项目升级到SDK-style后没删掉旧的AssemblyInfo.cs,删掉里面的重复属性就立马好了,你可以先试试第一个方法,应该大概率能解决~
内容的提问来源于stack exchange,提问作者user9674923

