![](/img/trans.png)
[英]Visual Studio/MSBuild copy referenced class library's app.config as *.dll.config to bin folder of current project
[英]Visual Studio 2015 .NETCore class library copy folder to bin/Debug/net452
我在Visual Studio 2015中创建了一个.NET Core类库项目ClassLibrary1
。在这个类库项目中,我添加了一个文件夹NewFolder
,它将被引用ClassLibrary1
项目使用。
例如,我有一个名为ConsoleApplication1
的项目,它引用了ClassLibrary1
。 每次我构建ConsoleApplication1
, NewFolder
应该复制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\\NewFolder
到PROJECT_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
的输出,您应该做的是将以下内容添加到ConsoleApplication1
的project.json
中
"copyToOutput": {
"mappings": {
"NewFolder/": {
"include": "../ClassLibrary1/bin/Debug/net452/win7-x64/NewFolder/**"
}
}
}
mappings
- 定义要复制到的文件夹( NewFolder
)( /
显然是必需的)
include
- 定义包含用于复制以构建输出的glob模式和文件路径。
您可以使用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.