I’m writing a simple extension to allow MSBuild to compile solidity source files.
My goal is when my solidproj gets compiled it runs specific executable which produces several bin and abi files that should be copied to the target directory. That sounds easy, however in practice it isn’t.
I currently have following targets:
It almost works except that it expect that single exe file gets compiled
Error MSB3030 Could not copy the file «objDebugSolidity9.exe» because it was not found. Solidity9 C:Program Files (x86)Microsoft Visual Studio2017ProfessionalMSBuild15.0BinMicrosoft.Common.CurrentVersion.targets 4118
How can I ask it to copy everything of this spefic extension to the output?
After open my VS Ultimate 2012 C# solution in VS Ultimate 2013 12.0.21005.1REL I get the following warning:
Warning 1 Found conflicts between different versions of the same dependent assembly. Please set the «AutoGenerateBindingRedirects» property to true in the project file. For more information, see http://go.microsoft.com/fwlink/?Link >
I follow the Microsoft link instructions. Then I edited the csproj file, adding the following line:
When I build the solution again, I get the following error:
Error List «app.config;objx86DebugEnergyMS.csproj.EnergyMS.exe.config» is an invalid value for the «ConfigFile» parameter of the «GenerateApplicationManifest» task. Multiple items cannot be passed into a parameter of type «Microsoft.Build.Framework.ITaskItem». EnergyMS
C:Program Files (x86)MSBuild12.0inMicrosoft.Common.CurrentVersion.targets(3243,9): error MSB4094: «app.config;objx86DebugEnergyMS.csproj.EnergyMS.exe.config» is an invalid value for the «ConfigFile» parameter of the «GenerateApplicationManifest» task. Multiple items cannot be passed into a parameter of type «Microsoft.Build.Framework.ITaskItem».
I’ve seen similar threads in forum, but I don’t understand the problem.
Can anyone help me understand the problem?
7 Answers 7
I found that if I turn off «Enable ClickOnce security settings» in the executable project’s properties, that the error went away. What I have to find out next is what it is going to take to turn this option back on so that I can click once deploy my WPF app.
I’ve had «. is an invalid value for the «ConfigFile» parameter of the «GenerateApplicationManifest» task».
I solved editing the .csproj file from my project and including below
And all working fine now.
Shows how to identify the offending assembly easily.
This evening I compiled a project I was playing around and was given the following warning.
Found conflicts between different versions of the same dependent assembly. Please set the «AutoGenerateBindingRedirects» property to true in the project file. For more information, see http://go.microsoft.com/fwlink/?Link >
Considering there are about 50 references across the projects I have in this solution, that isn’t particularly helpful. Rather than fishing through the solution trying to identify the offenders manually there is an easy way to get the compiler to spit out more information.
- In Visual Studio 2013 go to Tools > Options.
- Select Project and Solutions > Build and Run.
- Find the drop down MSBuild project build output verbosity. Here you can configure MSBuild to give you more information. By default it will be set to ‘Minimal’. Change this to ‘Detailed’.
- Rebuild and view the Output window. Copy everything into notepad and search for the warning which should tell you which assemblies you need to look at.
I found I needed to upgrade a few Prism assemblies in another project:
115 просмотра
1 ответ
4040 Репутация автора
Я пишу простое расширение, позволяющее MSBuild компилировать исходные файлы солидности.
Моя цель состоит в том, когда мой solidproj компилируется он работает конкретный исполняемый файл , который производит несколько bin и abi файлы , которые должны быть скопированы в целевой каталог. Это звучит легко, однако на практике это не так.
В настоящее время у меня есть следующие цели:
Это почти работает, за исключением того, что он ожидает, что один exe файл будет скомпилирован
Ошибка MSB3030 Не удалось скопировать файл «obj Debug Solidity9.exe», так как он не был найден. Solidity9 C: Program Files (x86) Microsoft Visual Studio 2017 Professional MSBuild 15.0 Bin Microsoft.Common.CurrentVersion.targets 4118
Как я могу попросить его скопировать все это расширение spefic в вывод?
Весь проект на github здесь .
Ответы (1)
0 плюса
4040 Репутация автора
Я закончил с созданием всех этапов сборки с нуля:
Еще нужно решить проблемы с переходными зависимостями, но это другой вопрос