繁体   English   中英

Visual Studio 2015 .NETCore类库复制文件夹到bin / Debug / net452

[英]Visual Studio 2015 .NETCore class library copy folder to bin/Debug/net452

我在Visual Studio 2015中创建了一个.NET Core类库项目ClassLibrary1 。在这个类库项目中,我添加了一个文件夹NewFolder ,它将被引用ClassLibrary1项目使用。

例如,我有一个名为ConsoleApplication1的项目,它引用了ClassLibrary1 每次我构建ConsoleApplication1NewFolder应该复制NewFolder

PROJECT_PATH\\ClassLibrary1\\bin\\Debug\\net452\\win7-x64\\NewFolder

PROJECT_PATH\\ConsoleApplication1\\bin\\Debug\\net452\\win7-x64\\NewFolder

更新:

我将以下内容添加到了ClassLibrary1项目的project.json文件中。

"buildOptions: {
    "copyToOuput": "NewFolder"
}"

每次构建ConsoleApplication1时,它只将文件夹复制到PROJECT_PATH\\ClassLibrary1\\bin\\Debug\\net452\\win7-x64\\NewFolder但不PROJECT_PATH\\ClassLibrary1\\bin\\Debug\\net452\\win7-x64\\NewFolderPROJECT_PATH\\ConsoleApplication1\\bin\\Debug\\net452\\win7-x64\\NewFolder

我不知道在.NET Core项目中应该怎么做,因为这似乎不是非.NET Core项目的行为。

更新2:

在非.NET Core项目中,我只是将一个脚本添加到ClassLibrary1的post-build事件命令行,它会自动将ClassLibrary1/bin/Debug包括文件和文件夹)复制到ConsoleApplication1/bin/Debug

xcopy "$(ProjectDir)NewFolder" "$(TargetDir)NewFolder" /E /Y

我通常在非.NET Core中做的是创建项目中文件夹/项目的链接(您的案例ConsoleApplication1 ,然后将其设置为复制到输出。

无论如何,这不能在.net核心中完成。

您正在做的也是错误的, ClassLibrary1的project.json不会将文件复制到ConsoleApplication1的输出,您应该做的是将以下内容添加到ConsoleApplication1project.json

"copyToOutput": {

  "mappings": {
    "NewFolder/": {
      "include": "../ClassLibrary1/bin/Debug/net452/win7-x64/NewFolder/**"
    }
  }

}

mappings - 定义要复制到的文件夹( NewFolder )( /显然是必需的)

include - 定义包含用于复制以构建输出的glob模式和文件路径。

UPDATE

您可以使用buildOptions嵌入文件并使用它来访问它

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "MyCompany.MyProduct.MyFile.txt";

using (Stream stream = assembly.GetManifestResourceStream(resourceName))
using (StreamReader reader = new StreamReader(stream))
{
    string result = reader.ReadToEnd();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM