我在Visual Studio 2015中创建了一个.NET Core类库项目ClassLibrary1
。在这个类库项目中,我添加了一个文件夹NewFolder
,它将被引用的{{1}项目使用}}。
例如,我有一个名为ClassLibrary1
的项目引用了ConsoleApplication1
。每次构建ClassLibrary1
时,都应复制ConsoleApplication1
发件人
NewFolder
以
PROJECT_PATH\ClassLibrary1\bin\Debug\net452\win7-x64\NewFolder
更新
我将以下内容添加到PROJECT_PATH\ConsoleApplication1\bin\Debug\net452\win7-x64\NewFolder
项目的project.json
文件中。
ClassLibrary1
每次构建"buildOptions: {
"copyToOuput": "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项目中,我只需将脚本添加到ConsoleApplication1
的生成后事件命令行,它会自动将ClassLibrary1
中包含文件和文件夹的所有内容复制到ClassLibrary1/bin/Debug
。
ConsoleApplication1/bin/Debug
答案 0 :(得分:1)
我在非.NET Core中通常做的是创建项目中文件夹/项目的链接(您的案例ConsoleApplication1
,然后将其设置为复制到输出。
您正在做的事情也是错误的,ClassLibrary1
的project.json不会将文件复制到ConsoleApplication1
的输出,您应该做的是将以下内容添加到project.json
ConsoleApplication1
"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();
}