加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Visual Studio在Rebuild上复制依赖项目中的“Content”文

发布时间:2020-12-15 21:07:01 所属栏目:百科 来源:网络整理
导读:我有两个项目的解决方案: 项目A. 这是一个C#控制台应用程序. 项目B. 这是一个C#类库. 项目A通过项目依赖项引用项目B. 项目B包含一个文件夹,在此文件夹中有一些文件. 这些文件的属性设置为: 构建行动 内容 复制到输出目录 如果更新则复制(也尝试使用复制始
我有两个项目的解决方案:

>项目A.

>这是一个C#控制台应用程序.

>项目B.

>这是一个C#类库.

项目A通过项目依赖项引用项目B.
项目B包含一个文件夹,在此文件夹中有一些文件.

这些文件的属性设置为:

>构建行动

>内容

>复制到输出目录

>如果更新则复制(也尝试使用复制始终)

当我构建项目B时,内容文件夹中的文件将复制到项目B的输出文件夹中.
例如项目B /斌/调试/ contentfolder /文件

当我重建项目A时,内容文件夹中的文件将复制到项目A的输出文件夹中.
例如项目A /斌/调试/ contentfolder /文件

当我构建项目A时,内容文件夹中的文件不会复制到项目A的输出文件夹中.
例如ProjectA / bin / debug / contentfolder / NO FILES HERE

我可以理解Visual Studio是否由于某种原因“无法看到”依赖项目中的文件,并且文件从未复制到ProjectA的输出中.

但事实并非如此,因为它在重建过程中起作用.

所以感觉就像我做错了什么,没有注意到,或者Visual Studio做错了什么,需要修复.

我发现这个问题与我的相似:Visual Studio Build vs Rebuild: Why are my DLLs only sometimes being copied into the output directory?

但是它没有任何答案,并且它不是重复的,因为我更清楚我的解决方案布局和发生此行为的环境.

有一个较旧的问题,接受的答案如下:Why the native DLL is not copied to the output directory

但它说:
(注意:他们对项目A / B的使用与我的相反.)

If a C# project B has direct reference to project A,VS will copy all dependent files used by project A to the output directory of project B.

这显然不是我的情况,这是我的问题的基础!

有两种解决方法对我来说很明显:

>可以将Content文件夹和文件添加到控制台项目中.
>在构建控制台项目之后,可以使用构建后事件来复制文件.

但它们都有相同的缺点:

>这不应该是必要的!这在Rebuild下工作的事实表明这也适用于Build,但是出了点问题.
>这是一个手动更改,开发人员在添加对项目B的引用时必须注意并采取措施.只需添加项目引用并使其全部工作就不容易出错.

解决方法

我有类似的问题 – 有内容(在我的情况下为connections.config)被复制到2个项目 – 两个项目都在重建时复制文件,但其中一个没有在构建时复制它.

我已经添加了对源项目本身的引用,现在它工作正常,我假设在项目没有引用的构建时没有看到项目的详细信息,而在“重建所有”时它确实如此.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读