【发布时间】:2017-03-10 19:06:38
【问题描述】:
自从 VS2017 返回 csproj 后,我又可以“作为链接”添加文件了……不!
当我链接一个文件时,我还希望将它复制到解决方案文件夹(不是输出目录,只是解决方案),例如 js 文件、webpack 配置文件等,我将它们共享和“链接”。但是为了让视觉工作室真正“看到”这些,我必须将它们复制到解决方案中。我在 csProj 文件的 BeforeTargets="Build" 事件中执行此操作。这就是我在 project.json 更改之前是这样做的(在 project.json 期间我根本没有这样做)。
但是...我现在发现,当我重新打开解决方案时,它显示“链接文件重复”并且不加载文件。这是正确的,因为文件是在构建期间复制的。这曾经可以工作,因为以前的 Web 应用程序 csproj 以声明方式列出了项目中的所有文件。现在它查看目录并添加其中的任何内容。 知道如何让它再次工作吗?
抱歉,如果不清楚我可以进一步发展,但 S.O 希望我的问题简短
谢谢!
更新:我已经重新安装了 VS 2017。重现了案例。同样的错误。我现在给大家详细介绍一下: 1.我添加了一个链接文件,csproj这样做了:
<ItemGroup>
<None Include="..\..\..\..\Proyects\SomeProject\src\core.module.ts" Link="app\core\core.module.ts" />
</ItemGroup>
- 它显示在解决方案资源管理器中:
-
我修改 csproj 以将其物理复制到目标文件夹。此资源不是 cs 文件,但已编译。我需要 vs 才能实际拥有它:
目标>
重新加载解决方案:“重复的链接项”。
还有几点说明: 一种。这发生在 css 文件上 湾。使用 ts 文件...它甚至不会复制它们。完全忽略副本
【问题讨论】:
-
您应该能够将它们包含在项目中,如果您选择链接的属性,则应该有一个“复制到输出”选项。你说的是这个吗?
-
嗨!嗯……不。这些文件是许多项目之间共享的打字稿文件。 TS 文件应该在 vs 中链接/可见/复制到项目文件夹/而不是输出(我不需要输出这些文件。
-
如果我不将它们添加到项目的文件夹中,VS 和 webpack 无法编译它们...... :'(
-
那么为什么不物理添加它们并将其设置为不再复制到输出?
-
这些文件已链接。也就是说,我有一个 BASE 项目,其中包含我的许多组件、服务和全局内容。如果我在“基础”中进行更改,所有其他项目都应该自动更改。我在基础项目 ts、配置文件、视图等中有各种各样的东西。这些文件必须可以被 VS 访问,但只有少数文件可以进入输出文件夹。不过,我需要将它们联系起来,我相信
标签: visual-studio asp.net-web-api msbuild csproj