vs2019 版本16.8 .net core 应用,项目生成之后,部分文件不复制到Debug目录问题?

nihao955 2020-11-19 02:53:56
开发环境 :visual studio 2019 版本:16.8
.net core 2.2 应用,项目有如下结构:

项目在调试的时候,上图中红线选中的部分,只有.json配置文件会复制到Debug目录,其它目录和文件都不复制,文件前面的小红点是git上忽略更改。请问如何能在调试或发布的模式,让plugins目录下所有的文件也同步至Debug或Release目录 下,谢谢!!!
...全文
2965 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nihao955 2020-11-20
  • 打赏
  • 举报
回复
好用了,是这样<None Update="plugins\**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None>,是两个**号,谢谢
nihao955 2020-11-20
  • 打赏
  • 举报
回复
引用 7 楼 wanghui0380 的回复:
嗯,我实测了一下,发现可以这样的,你还是常规包含,这样csproj 会生成类似下面的一个东西,然后你手动修改csproj文件,修改红色那行,把具体的文件改成*号,强制要求所有文件即可(有是vs2019的隐藏技能,嘿嘿,netcore以后我经常手动修改csproj文件,因为ide没有对应的功能啊) <ItemGroup> <None Update="Product\*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
我试了为什么不好用呢, <None Update="plugins\*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> , Debug目录下各插件目录只有几个json文件,其它文件都没有
八爻老骥 2020-11-20
  • 打赏
  • 举报
回复
引用 2 楼 nihao955 的回复:
单个文件我知道这样操作,现在是目录比较多,目录里的dll文件变动也挺频繁,如果每次一个个去这样操作,工作量挺大,能不能按文件夹去设置呢?


可以多选后一起设置啊。
wanghui0380 2020-11-20
  • 打赏
  • 举报
回复
嗯,我实测了一下,发现可以这样的,你还是常规包含,这样csproj 会生成类似下面的一个东西,然后你手动修改csproj文件,修改红色那行,把具体的文件改成*号,强制要求所有文件即可(有是vs2019的隐藏技能,嘿嘿,netcore以后我经常手动修改csproj文件,因为ide没有对应的功能啊) <ItemGroup> <None Update="Product\*"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </None> </ItemGroup>
wanghui0380 2020-11-19
  • 打赏
  • 举报
回复
看了一下CEF的配置,我想这个 <ItemGroup Condition="'$(Platform)' == 'AnyCPU'"> <None Include="@(CefRedist32)"> <Link>$(CefSharpTargetDir)\x86\%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PublishState>Include</PublishState> <Visible>false</Visible> </None> <None Include="@(CefRedist64)"> <Link>$(CefSharpTargetDir)\x64\%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PublishState>Include</PublishState> <Visible>false</Visible> </None> <None Include="@(CefSharpCommonBinaries32)"> <Link>$(CefSharpTargetDir)\x86\%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PublishState>Include</PublishState> <Visible>false</Visible> </None> <None Include="@(CefSharpCommonBinaries64)"> <Link>$(CefSharpTargetDir)\x64\%(RecursiveDir)%(FileName)%(Extension)</Link> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <PublishState>Include</PublishState> <Visible>false</Visible> </None> </ItemGroup> 我想关键地方就这个把,手动在sln里加。话说netcore以后,有很多配置都得在sln里手动加,这点有些困扰
wanghui0380 2020-11-19
  • 打赏
  • 举报
回复
如果你觉着现在这样挺顺手,不想动了。其实也行,全选了一起设置可以。 当然我个人可能在生成事件里直接写命令行 https://blog.csdn.net/lk142500/article/details/80736322 当然要乐意折腾也可以跟cef那样学,搞个vs的配置,让他把那啥x86,x64整个文件夹弄过去。(我懒得研究这种方法,不喜欢折腾,命令行对我来说够用了)
wanghui0380 2020-11-19
  • 打赏
  • 举报
回复
额,netcore和strand最大的不同是使用nuget方式 你的项目呢,我大概能看明白你的意思。你不想引用了,改插件化。 不过这手段有些另类?我们不在那里包含,那是死的。 正常情况是,虽然不引用,但是你可以把你插件的生成目录直接改到主项目的目录下。这就是活的了,而且还是最新的
nihao955 2020-11-19
  • 打赏
  • 举报
回复
单个文件我知道这样操作,现在是目录比较多,目录里的dll文件变动也挺频繁,如果每次一个个去这样操作,工作量挺大,能不能按文件夹去设置呢?
八爻老骥 2020-11-19
  • 打赏
  • 举报
回复
解决方案里右击文件,选择属性,选择始终复制

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧