我正在制作一个 VS 项目模板,并且我希望我正在创建的项目包含外部程序的设置和启动参数。设置文件应该简单地复制到项目目录中。
VS 设置本身存储在$projectname$.csproj.user项目文件 (.csproj) 中没有引用的文件中。
问题来了:VS不会复制项目文件中不涉及的文件。$projectname$.csproj应该写入这样的内容,以便文件毕竟被复制<None Include="$projectname$.csproj.user" />。$projectname$.csproj.user但随后它会出现,Solution Explorer并且只有在重新打开解决方案后才会从中读取设置。
项目.vs模板:
<TemplateContent>
<Project File="ProjectTemplate.csproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="$projectname$.csproj.user">ProjectTemplate.csproj.user</ProjectItem>
</Project>
</TemplateContent>
如何解决这个问题?
您可以通过指定元属性值来隐藏解决方案资源管理器
Visible中的元素:我不对项目的旧格式负责。最有可能的是,有必要指定一个单独的元素:
这将有助于摆脱项目中的额外元素,但仅在重新打开解决方案后不太可能有助于读取设置。这有点 IDE 限制的味道:开发人员很可能根本没想到用户设置会由非用户创建。
顺便说一句,如果您切换到新的项目格式,那么启动配置文件是一个单独的漂亮文件
launchSettings.json,并且可以有许多具有不同设置的配置文件。我建议。