2017-02-19 37 views
1

我通过将.net核心项目中的某些文件包含在项目中,将构建操作设置为“内容”并设置为“始终复制”并希望参考来自项目的文件。在.Net框架中,诸如“foo.zip”的相对路径将引用复制到输出目录的文件。但是,该文件复制到项目目录中,而不是与DLL的输出目录。例如。 foo.zip将与源文件放在一起,而输出的dll将是“bin/Debug | Release/netcoreapp1.0”。在代码中使用相对路径“foo.zip”是指路径“C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ foo.zip”核心中当前的project.json路径

这是打算?如果是这样,有没有办法可以访问输出的目录?我找到的最接近的是AppContext.BaseDirectory,它指的是netcoreapp1.0目录,但在项目“发布”时不起作用

更新:经过一些实验后,内容的构建操作负责复制文件到源代码目录看起来很奇怪。将其设置为“无”按预期执行,并将文件复制到输出目录。该路径是否按预期指向IDE目录?

+0

等待两周.. vs2017 RC将杀死这个问题。 – Thomas

回答

0

你会想用他publishOptions在project.json部分包括在输出文件:

"publishOptions": { 
    "include": "foo.zip" 
}, 

文件应该然后是在运行时相同的相对位置,因为它是当你正在编写代码。

0

更新:经过一番实验,内容的生成操作是 负责将文件复制到这似乎 奇源目录。将其设置为“无”按预期执行,并将文件 复制到输出目录。此路径指向IDE目录,预期为 ?

事实上,将内容复制到源代码文件的构建操作是可行和有用的。例如,当你正在深化发展与MVC网站,它是常见的,你的看法(.cshtml文件)位于查看目录中的源目录中,旁边控制器模型目录。

现在,您正在从Visual Studio运行Web应用程序,而您只是想更改HTML页面中的一些文本。您可以简单地编辑在Visual Studio下的.cshtml文件并保存。 在Web浏览器中刷新页面后,您的更改将直接出现。无需再次编译和启动Web应用程序,这在Web开发中节省了大量时间。