jmc*_*jmc 6 c# visual-studio visual-studio-2015 .net-core
我有一个ClassLibrary1在Visual Studio 2015中创建的.NET Core类库项目.在这个类库项目中,我添加了一个文件夹NewFolder,该文件夹将被引用的项目使用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"
}"
Run Code Online (Sandbox Code Playgroud)
它只复制文件夹,PROJECT_PATH\ClassLibrary1\bin\Debug\net452\win7-x64\NewFolder但不是PROJECT_PATH\ConsoleApplication1\bin\Debug\net452\win7-x64\NewFolder每次构建时ConsoleApplication1.
我不知道在.NET Core项目中应该怎么做,因为这似乎不是非.NET Core项目的行为.
更新2:
在非.NET Core项目中,我只需将脚本添加到post-build events命令行,ClassLibrary1它会自动将ClassLibrary1/bin/Debug包含文件和文件夹中的所有内容复制到ConsoleApplication1/bin/Debug.
xcopy "$(ProjectDir)NewFolder" "$(TargetDir)NewFolder" /E /Y
我通常在非 .NET Core 中执行的操作是创建指向项目中文件夹/项目的链接(您的案例ConsoleApplication1,然后将其设置为复制到输出)。
无论如何,这不能在.net core 中完成。
你所做的也是错误的,project.jsonClassLibrary1不会将文件复制到你应该做的输出中ConsoleApplication1,将以下内容添加到你project.json的ConsoleApplication1
"copyToOutput": {
"mappings": {
"NewFolder/": {
"include": "../ClassLibrary1/bin/Debug/net452/win7-x64/NewFolder/**"
}
}
}
Run Code Online (Sandbox Code Playgroud)
mappings- 定义要复制到 ( ) 的文件夹NewFolder(这/显然是必要的)
include- 定义要包含的全局模式和文件路径,以复制到构建输出。
您可以使用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();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
745 次 |
| 最近记录: |