Check if a referenced project is available.
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
EDIT : I submit before finishing the question.
EDIT2 : Now there is everything.
Hello,
I am working with Simulink Projects (object of the class 'matlab.project.Project' )on Matlab R2019b, and I don't have found an acceptable way to solve it.
The issue :
A Simulink project mainProject has two others Simulink project as references parentA and parentB, wih relative path from mainProject. It works well, no issue at this point.
All projects are closed.
I removed from parentB its current directory.
Now, when I tried to open the mainProject, I get an error on the pop-up winows.
The question :
Using command, how can I check the availability of referenced projects, using an acceptable method ?
What I have done :
I open the project with the command line (the windows with the error is opened but I don't care) :
proj = openProject(cd)
The command windows show the properties of the project :
proj =
Project with properties:
Name: "mainProject"
SourceControlIntegration: ""
RepositoryLocation: ""
SourceControlMessages: [1×0 string]
ReadOnly: 0
TopLevel: 1
Dependencies: [1×1 digraph]
Categories: [1×1 matlab.project.Category]
Files: [1×0 matlab.project.ProjectFile]
Shortcuts: [1×0 matlab.project.Shortcut]
ProjectPath: [1×0 matlab.project.PathFolder]
ProjectReferences: [1×2 matlab.project.ProjectReference]
StartupFiles: [1×0 string]
ShutdownFiles: [1×0 string]
Description: ""
RootFolder: "D:\Mes_Documents\travail\testNewUser\mainProject"
ProjectStartupFolder: "D:\Mes_Documents\travail\testNewUser\mainProject"
SimulinkCacheFolder: ""
SimulinkCodeGenFolder: ""
As I can see the ProjectReferences property, I would check on them if there is an issue of availability for one reference.
>> ref1=proj.ProjectReferences(1)
ref1 =
ProjectReference with properties:
Project: [1×1 matlab.project.Project]
File: "D:\Mes_Documents\travail\testNewUser\parentA"
StoredLocation: "../parentA"
Type: "Relative"
>> ref2=proj.ProjectReferences(2)
ref2 =
ProjectReference with properties:
File: "D:\Mes_Documents\travail\testNewUser\parentB"
StoredLocation: "../parentB"
Type: "Relative"
My "ugly" way to check is to do :
try
ref1.Project;
catch err
% no error
err.identifier
end
try
ref2.Project;
catch err
% there is one, show the identifier
err.identifier
end
ans =
'MATLAB:project:api:StaleProjectHandle'
And test if I catch the error.
I would be happy to find a more acceptable method to identify missing referenced proejct.
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Project Setup dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!